기타 창작

(대충 프록시서버 창작했다는 내용)

(오늘은 https 인증서 갱신이 안되, 관짝에 들어간 블로그를 대충 살렸다는 내용)

(몇달전에 한거라 명령어도 기억이 안나, 밀어버리고 대충 기록으로 남겼다는 내용)

 

1. centos 설치

   - (대충 설치한다는 내용)

 

2. sshd 설치

   - (이것도 대충 설치한다는 내용)

 

3. ssh 포트 변경
    - nano /etc/sshd/sshd_config

    - port 22 -> 20022

 

4. 방화벽을 관리할 semanage 패키지 설치

1. semanage 패키지.PNG
    - 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 설정

2. vsftpd 설정.PNG
    - 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 저장소 추가, 설치

3. nginx 설치.PNG
    - 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)

5. cert renew fail.PNG
 4. cert renew.PNG

    - 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. 캐싱 확인

6. cache.PNG
    - curl -Is https://example.com/wp-content/uploads/2019/06/000000.png | grep Cache

 

(내일은 대충 http2 적용하고 nginx 보안설정 해볼거라는 내용)

(빠진내용이나 틀린거는 댓글에 대충 적으라는 내용)

(오늘 삽질은 성공적이었으니 대충 칭찬해달라는 내용)

(대충 이것도 창작이니 조용필하라는 내용)

13개의 댓글

2019.09.02

콤퓨타는 너무 어려운거시에요 하와와

0
2019.09.02

순간 컴판인줄

gcc 존나 편한듯 너도 써봐

0
2019.09.03
@냥짤저장소

찾아보니까 한번짜두면 ㄹㅇ 편하게 쓸듯하네

0
2019.09.03
@원미동사람들

아 gcc가 아니라 gcpㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

0
2019.09.03
@냥짤저장소

;;

0
2019.09.03
@원미동사람들

gcc 그 불편한거 왜씀;;

0
2019.09.03
@냥짤저장소

ㅇㅇ;난 또 설치 스크립트 짜라는줄 알았음 ㅋㅋ

0
2019.09.03
@원미동사람들

원래 vmware 쓰고있었는데 gcp는 푸티 하나로 접속 돼고 속도도 존나 빨라서 잘쓰고있음

근데 곧 1년무료 끝나서 어떻게 해야할지.고민중 ㅠ

0
2019.09.03
@냥짤저장소

오.. 방금 GCP 들어가봤는데 용도에 맞게 환경이 다 준비되있음. ㅋㅋ 좋은정보 얻어갑니당

0
2019.09.02

ssh로 파일전송하면 되는데 vsftpd는 왜깜?

 

0
2019.09.02
@어그로학교수
0
2019.09.02
@어그로학교수

파일사이즈가 작으면 sftp로 전송해도 큰 차이는 모르지만 일정 크기를 넘어가면 sftp 프로토콜보다 ftp로 전송하는게 훨씬 빠르니까

0
2019.09.02
@아기오구

그래도 굳이 전송속도 빠른것을 이유로 포트를 몇개 더 열어둘 필요가????

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
32454 [기타 창작] 나예전에 블랜더로 춤하고 요가 만들었는데 3 aaaa1 2 1 일 전 77
32453 [그림] 핫도그 여우 6 뿔난용 3 3 일 전 197
32452 [그림] 로켓단 소니아 2 띠굼아 3 3 일 전 143
32451 [그림] ㄱㄹ 4 하츠네 미쿠 7 5 일 전 178
32450 [그림] 6장 12 2049 11 6 일 전 218
32449 [그림] 에라. 그냥 올림 8 rulru 13 8 일 전 323
32448 [그림] 호인 뿔난용 2 9 일 전 156
32447 [잡담] 8월 일페부스 같이나갈 개붕이있니 14 뀰강정 3 10 일 전 269
32446 [그림] 자세를 창작해서 그리는건 힘드네 뿔난용 3 10 일 전 197
32445 [그림] 코하루 모작 연습 3 뀰강정 5 11 일 전 216
32444 [기타 창작] 3D 븜 열심히 진행중 1 에오리스 4 11 일 전 132
32443 [그림] ddsdsdsds 7 구파 10 12 일 전 119
32442 [그림] 블렌더 배경연습 한장 6 끠자치킨 6 12 일 전 143
32441 [그림] 플러스터 토마+포세이혼 3 뿔난용 5 16 일 전 141
32440 [그림] 플러스터 토마+포세이혼(스케치) 뿔난용 1 16 일 전 66
32439 [그림] 오랜만에 샤프 낙서 장윈영 2 16 일 전 130
32438 [그림] 야밤 동탄 4 프로수간충 7 16 일 전 405
32437 [그림] 플러스터 간+기가듈 뿔난용 2 16 일 전 70
32436 [그림] 플러스터 간+기가듈(스케치) 뿔난용 1 16 일 전 28
32435 [기타 창작] 개다, 요루시카 권주가 1 17 일 전 64