===== CentOS/서버 설정 ===== ==== 커널 업데이트 ==== [[http://aeac.tistory.com/12]] rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum -y install yum-plugin-fastestmirror yum --enablerepo=elrepo-kernel install kernel-ml #after reboot grub2-set-default 0 ==== timezone ==== [ec2-user@ip-172-31-7-180 ~]$ date Fri Aug 8 06:41:49 UTC 2014 [ec2-user@ip-172-31-7-180 ~]$ sudo date Fri Aug 8 06:42:01 UTC 2014 [ec2-user@ip-172-31-7-180 ~]$ sudo cat /etc/localtime TZif2UTCTZif2UTC UTC0 [ec2-user@ip-172-31-7-180 ~]$ sudo rm /etc/localtime [ec2-user@ip-172-31-7-180 ~]$ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime [ec2-user@ip-172-31-7-180 ~]$ date Fri Aug 8 15:48:27 KST 2014 [ec2-user@ip-172-31-7-180 ~]$ sudo date Fri Aug 8 15:48:40 KST 2014 출처: https://ora-sysdba.tistory.com/entry/Cloud-Computing-Amazon-EC2-인스턴스의-TIMEZONE-변경 [Welcome To Ora-SYSDBA] ==== 원격설정 ==== === VNC === [[https://d2fault.github.io/2018/08/02/20180802-install-vncserver-centos/]] 포트설정 방화벽해제 (영구) 5901-5910 sudo yum install tigervnc-server vncserver vncserver -geometry 1920x1080 vncserver -kill :[port] === Teamviewer === [[https://community.teamviewer.com/t5/Knowledge-Base/How-to-install-TeamViewer-on-Red-Hat-and-CentOS/ta-p/30708]] wget https://download.teamviewer.com/download/linux/teamviewer-host.x86_64.rpm yum install epel-release # must be installed first yum install ./teamviewer-host*.rpm ==== selinux ==== 끄는 법 /etc/sysconfig/selinux 에서 SELINUX = disabled \\ [[http://itzone.tistory.com/646]] ==== nginx 설정 ==== === Certbot cron === 43 6 * * * certbot renew --post-hook "systemctl reload nginx" > /root/cert_renew.log 2>&1 ==== Proxy ==== === Resilio Sync === #/etc/conf.d/nginx/default.conf location /btsync/ { rewrite ^/btsync/gui(.*) /btsync$1 last; proxy_pass http://127.0.0.1:8888/gui/; proxy_redirect /gui/ /btsync/; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /gui/ { proxy_pass http://127.0.0.1:8888/gui/; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } setsebool httpd_can_network_connect 1 -P === ngnix rewriting === location /foo { rewrite /foo/(.*) /$1 break; proxy_pass http://localhost:3200; proxy_redirect off; proxy_set_header Host $host; } For Jupyter [[https://github.com/jupyter/notebook/issues/1311#issuecomment-403256189]] # nginx config in server location /jupyter/ { proxy_pass http://localhost:8888; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Origin ""; } location ~* /jupyter/(api/kernels/[^/]+/(channels|iopub|shell|stdin)|terminals/websocket)/? { proxy_pass http://localhost:8888; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Origin ""; } #full nginx.conf user www-data; worker_processes auto; pid /run/nginx.pid; ## based on https://gist.github.com/cboettig/8643341bd3c93b62b5c2 events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream jupyter { server localhost:8888 fail_timeout=0; } server { listen 80; server_name hands.art.cfa.cmu.edu; rewrite ^ https://$host$request_uri? permanent; } server { listen 443; client_max_body_size 50M; server_name hands.art.cfa.cmu.edu; ssl on; ssl_certificate /etc/letsencrypt/live/hands.art.cfa.cmu.edu/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/hands.art.cfa.cmu.edu/privkey.pem; ssl_ciphers "AES128+EECDH:AES128+EDH"; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains"; add_header X-Content-Type-Options nosniff; ssl_stapling on; # Requires nginx >= 1.3.7 ssl_stapling_verify on; # Requires nginx => 1.3.7 resolver_timeout 5s; location / { proxy_pass http://jupyter; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~* /(api/kernels/[^/]+/(channels|iopub|shell|stdin)|terminals/websocket)/? { proxy_pass http://jupyter; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } } } #jupyter settings c.NotebookApp.allow_origin = '*' c.NotebookApp.base_url = '/jupyter' c.NotebookApp.open_browser = False c.NotebookApp.password = 'sha1:REDACTED' c.NotebookApp.port = 8888 c.NotebookApp.trust_xheaders = True === php setting === php conf 안에서\\ user, group listen --> 소켓으로 ==== https 설정 ===== https://certbot.eff.org/lets-encrypt/centosrhel7-nginx \\ Renewal certbot renew --dry-run certbot renew ===== Remote 환경 (Windows 등) ===== ==== 배경색 ==== https://encycolorpedia.kr/263f3f \\ 47, 79, 79 ===== Python 개발환경 ===== skmob bash docker run -it --name skmob-dev -p 28888:8888 -v E:\Clouds_500G\Dev\traccar:/home/centos/src/projects dreamwayjgs/centos-skmob:latest /bin/bash ==== Python 3.6버전 ==== yum install -y https://centos7.iuscommunity.org/ius-release.rpm yum search python3 yum install -y python36u python36u-devel python36u-libs python36u-pip ==== Jupyter ==== #run nohup jupyter notebook & #kill lsof nohup.out kill -9 nohup jupyter lab > my.log 2>&1 & echo $! > save_pid.txt kill -9 `cat save_pid.txt` rm save_pid.txt #!/usr/bin/env bash # 파이썬 3.7 설치 sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.7 python3.7 --version # **/home/<사용자 이름="">/.bash_aliases** alias python=python3.7 alias pip=pip3 sudo apt install python3-pip sudo apt install python3.7-venv python -m venv venv source venv/bin/activate 우분투 미러 #!/bin/sh SL=/etc/apt/sources.list PARAM="r:hm:dna" KAKAO=mirror.kakao.com NEOWIZ=ftp.neowiz.com HARU=ftp.harukasan.org function usage { echo "USAGE: $0 [OPTION] "; echo -e "\r\n-b : make backup file"; echo "-r[sources.list] : specify source list file (default ${SL})" echo "-m[mirror-url] : speficy mirror site url" echo "-k : use kakao mirror (${KAKAO})" echo "-n : use neowiz mirror (${NEOWIZ})" echo "-a : use harukasan mirror (${HARU})" exit 0; } REPOS=${KAKAO} while getopts $PARAM opt; do case $opt in r) echo "-r option was supplied. OPTARG: $OPTARG" >&2 SL=$OPTARG; ;; m) echo "Using mirror repository(${OPTARG})." >&2 REPOS=${OPTARG} ;; k) echo "Using Kakao repository(${KAKAO})." >&2 REPOS=${KAKAO} ;; n) echo "Using neowiz repository(${NEOWIZ})." >&2 REPOS=${NEOWIZ} ;; a) echo "Using harukasan repository(${HARU})." >&2 REPOS=${HARU} ;; h) usage; ;; esac done echo "using repository(${REPOS})" ## change mirror sed -i.bak -re "s/([a-z]{2}.)?archive.ubuntu.com|security.ubuntu.com/${REPOS}/g" ${SL} ## check apt update http://econym.org.uk/gmap/basic19.htm html, body 100% I deleted a file called "mongodb-40017.sock" at /tmp folder then it worked as expected. export PIPENV_VENV_IN_PROJECT=1