(오늘은 https 인증서 갱신이 안되, 관짝에 들어간 블로그를 대충 살렸다는 내용)
(몇달전에 한거라 명령어도 기억이 안나, 밀어버리고 대충 기록으로 남겼다는 내용)
1. centos 설치
- (대충 설치한다는 내용)
2. sshd 설치
- (이것도 대충 설치한다는 내용)
3. ssh 포트 변경
- nano /etc/sshd/sshd_config
- port 22 -> 20022
4. 방화벽을 관리할 semanage 패키지 설치
- yum install policycoreutils-python
5. ssh 방화벽 접근 허용
- semanage port -a -t ssh_port_t -p tcp 20022
- firewall-cmd --permanent --zone=public --add-port=20022/tcp
- firewall-cmd --reload
6. vsftpd 설치
- yum list installed | grep vsftpd (이미 설치되어있는지 확인)
- yum -y install vsftpd
7. vsftpd 설정
- nano /etc/vsftpd/vsftpd.conf
- anonymous_enable=NO (익명계정 미사용)
- allow_writeable_chroot=YES
- listen_port=20021 (포트변경, 추가)
- pasv_enable=YES
- listen_ipv6=NO
- ftp_data_port=20020
- pasv_min_port=20030
- pasv_max_port=20040
- /etc/vsftpd/user_list, /etc/vsftpd/ftpusers 에서 root계정 주석처리
8. vsftpd 방화벽 접근 허용
- firewall-cmd --permanent --add-service=ftp
- firewall-cmd --zone=public --permanent --add-port=20021/tcp
- firewall-cmd --zone=public --permanent --add-port=20020/tcp
- firewall-cmd --zone=public --permanent --add-port=20030-20040/tcp
- firewall-cmd --reload
- firewall-cmd --list-ports (열린 포트 확인)
9. nginx 저장소 추가, 설치
- nano /etc/yum.repos.d/nginx.repo
-
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
(텍스트에 위 내용 추가)
- yum install nginx
10. nginx 방화벽 포트 개방
- sudo firewall-cmd --permanent --zone=public --add-service=http
- sudo firewall-cmd --permanent --zone=public --add-service=https
- sudo firewall-cmd --reload
11. nginx 실행 및 자동시작 등록
- systemctl start nginx
- systemctl enable nginx
12. upstream 호스트 설정 - nginx.conf
- 내부 was를 'blog'로 링크 (서버 블럭 작성할때 사용)
- 80포트 접속확인
13. https 인증서 발급
- sudo yum install epel-release (epel repository 활성화)
- sudo yum install certbot (certbot 설치)
- sudo certbot certonly --standalone -d blog.tandy.fun -d tandy.fun --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"
(cert 발급)
13. default.conf 서버 블럭 작성
- 정의되지않은 요청은 거부
- 도메인으로만 접근허용
- http to https 리다이렉트
- 외부에서 phpmyadmin 접근 거부
- 사용자 헤더 추가
14. cert 자동 renew 등록 (crontab)
- export VISUAL=nano; crontab -e
- sudo 0 4 1 */3 * certbot renew (인증서 발급시 hook 사용하면 자동적용)
- 인증서 도메인 중 한개라도 연결 불가시 renew 안됨 ㅅㅂ
15. nginx 정적 캐시 설정 - 램캐시 할당
- nano /etc/fstab
- tmpfs /dev/shm/fastcgi tmpfs defaults,size=1536M 0 0 (fstab에 추가)
- mkdir /dev/shm/fastcgi
- chown nginx:nginx /dev/shm/fastcgi
- chmod +x /dev/shm/fastcgi
- mount -a
+ 재부팅 후 dir 권한문제로 인해 nginx 자동시작 불가
16. ngnix 정적 캐시 설정 - nginx.conf 수정
- nano /etc/nginx/nginx.conf
- 구문 추가
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
proxy_buffering on;
proxy_cache_path /dev/shm/fastcgi levels=1:2 keys_zone=static:1024m inactive=100m max_size=1400m;
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_connect_timeout 30;
proxy_read_timeout 120;
proxy_send_timeout 120;
17. nginx 정적 캐시 설정 - default.conf 서버블럭 수정
- nano /etc/nginx/conf.d/default.conf
- 서버 블럭안에 구문추가
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
proxy_pass http://blog;
proxy_cache_valid 200 30m;
add_header Cache-Control "public";
proxy_cache static;
expires 1y;
access_log off;
add_header X-Proxy-Cache $upstream_cache_status;
}
location ~* \.(?:css|js)$ {
proxy_pass http://blog;
proxy_cache_valid 200 30m;
add_header Cache-Control "public";
proxy_cache static;
expires 1y;
access_log off;
add_header X-Proxy-Cache $upstream_cache_status;
}
18. 캐싱 확인
- curl -Is https://example.com/wp-content/uploads/2019/06/000000.png | grep Cache
(내일은 대충 http2 적용하고 nginx 보안설정 해볼거라는 내용)
(빠진내용이나 틀린거는 댓글에 대충 적으라는 내용)
(오늘 삽질은 성공적이었으니 대충 칭찬해달라는 내용)
(대충 이것도 창작이니 조용필하라는 내용)
버로우 버팔로
콤퓨타는 너무 어려운거시에요 하와와
냥짤저장소
순간 컴판인줄
gcc 존나 편한듯 너도 써봐
원미동사람들
찾아보니까 한번짜두면 ㄹㅇ 편하게 쓸듯하네
냥짤저장소
아 gcc가 아니라 gcpㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
원미동사람들
;;
냥짤저장소
gcc 그 불편한거 왜씀;;
원미동사람들
ㅇㅇ;난 또 설치 스크립트 짜라는줄 알았음 ㅋㅋ
냥짤저장소
원래 vmware 쓰고있었는데 gcp는 푸티 하나로 접속 돼고 속도도 존나 빨라서 잘쓰고있음
근데 곧 1년무료 끝나서 어떻게 해야할지.고민중 ㅠ
원미동사람들
오.. 방금 GCP 들어가봤는데 용도에 맞게 환경이 다 준비되있음. ㅋㅋ 좋은정보 얻어갑니당
어그로학교수
ssh로 파일전송하면 되는데 vsftpd는 왜깜?
원미동사람들
아기오구
파일사이즈가 작으면 sftp로 전송해도 큰 차이는 모르지만 일정 크기를 넘어가면 sftp 프로토콜보다 ftp로 전송하는게 훨씬 빠르니까
어그로학교수
그래도 굳이 전송속도 빠른것을 이유로 포트를 몇개 더 열어둘 필요가????