728x90 Server21 [nginx] autoindex로 디렉토리 리스팅 하였을 때 cors 에러 server { server_name *; location / { root /; autoindex on; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/*/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/*/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server.. Server/Linux 2023. 4. 10. [Linux] Shell Script(쉘 스크립트) 프로그램 및 패키지 설치 여부 확인 우분투 환경에서 시도하였지만.. 리눅스도 동일하다. which 명령어를 활용하여 프로그램 위치를 확인하였는데 $ which inotifywait # 없으면 $ which inotifywait # 있으면 /usr/bin/inotify-tools 해당 프로그램을 which 명령어로 찾았을 때, 없으면 리턴되는 값이 없고... 설치되어있다면 설치경로가 반환된다. 예시로 코드 하나를 보면, test.sh 원본코드 #!/bin/bash if which inotifywait >/dev/null; then echo "inotify-tools already installed!!!" else apt-get install -y inotify-tools fi 위 코드는 inotify-tools 패키지에 속해 있는 inoti.. Server/Linux 2022. 12. 8. [Ubuntu] 리눅스 파일 변경 실시간 감지하기 서버 환경은 Ubuntu... 우리는 inotify-tools를 이용하여, 파일의 생성 감지하여 빌드 및 배포하는 스크립트를 예시로 작성할 것이다. 우선... sudo apt-get install inotify-tools 위 명령어로 inotify-tools 를 설치한다. 우리가 사용할 inotifywait가 포함되어있다. touch inotifywait.sh 예제로 inotifywait.sh 파일을 생성한다. vi inotifywait.sh vi 에디터로 문서를 편집한다. inotifywait.sh #!/bin/sh MONITOR_PATH={보안으로 인해 가림} inotifywait -m -e create -r "$MONITOR_PATH" | while read dirname eventlist file.. Server/Ubuntu 2022. 12. 8. [Linux] expect를 이용하여 쉘스크립트를 실행시켜 다른 서버 원격 접속하여 명령어 날리기 #!/bin/sh USER=root IP=000.000.000 PW=p@sswOrD # install expect - important# expect -c " spawn ssh -o StrictHostKeyChecking=no $USER@$IP 'example.sh' expect 'password:' send \"$PW\\r\" expect eof set timeout 3 " 위에서 부터 하나씩 해석을 해보자면, #!/bin/bash 위 코드는 해당 파일을 bash 쉘로 실행시킨다는 것을 정의하는 것이고. USER, IP, PW 변수로 선언하여 초기화하였다. 여기서부터가 중요한대. expect -c " 우리는 expect라는 모듈을 이용할 것이다. expect 모듈은 커맨드 대화를 상호작용할 수 있도록 .. Server/Linux 2022. 11. 30. [Linux] 리눅스 타임존(TimeZone, TZ) 한국 표준시(KST)로 변경하기 현재시간 확인 # date Tue Nov 29 02:56:58 UTC 2022 현재 타임존 확인 # ls -al /etc/localtime /etc/localtime -> /usr/share/zoneinfo/Etc/UTC 타임존을 한국 표준시(KST)로 변경 # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 위 스크립트를 입력하면, # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 타임 존이 변경되어 보여진다. 다시 변경된 타임존 확인 # date Tue Nov 29 11:57:24 KST 2022 Server/Linux 2022. 11. 29. [SSL] Oracle linux server에서 let's encrypt로 nginx에 SSL 적용하기 (인증서 자동 갱신 포함) Oracle lunux 7과 6은 동일하게 하셔도 무방합니다. 루트 사용자로 실행합니다. 아래의 명령어로 OL 저장소를 활성화합니다. # OL7 yum install -y yum-utils yum-config-manager --enable ol7_optional_latest OR (OL7의 경우 위 명령어, 아래 명령어 선택하셔서 사용하세요.) # OL7 yum-config-manager --enable ol7_developer_EPEL # OL8 dnf 설치 -y oracle-epel-release-el8 또는 공식 EPEL 릴리즈를 하셔도 무방합니다. # OL7 CD/tmp wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.. Server/Linux 2022. 6. 14. [linux] nginx 사용시 proxy_pass 연결 안되는 경우 해결법 SELinux 계열 OS 사용시 Nginx-> proxy_pass 이용시 연결이 안되는 경우, 우선, 에러 코드를 본다. 에러코드 내용은 $ vi /var/log/nginx/error.log 위 명령어 실행하여 /var/log/nginx/error.log 를 확인하여 자세히 볼 수 있다. [crit] 20718#20718: *123 connect() to 127.0.0.1:3000 failed (13: Permission denied) while connecting to upstream, client: {클라이언트IP}, server: {서버IP}, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:3000/favicon.ico", ho.. Server/Linux 2022. 3. 30. [ubuntu] 방화벽(firewalld) 설치 및 설정 * firewalld 설치 $ sudo apt update && sudo apt install firewalld -y * firewalld 설치 확인 $ sudo firewall-cmd --version * public zone에 tcp 8080 포트를 여는 명령어이다. $ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp * 이제 적용된다. $ sudo firewall-cmd --reload * 열려있는 포트 확인 $ sudo firewall-cmd --list-ports Server/Ubuntu 2022. 3. 29. [centos7] nginx 안정화 설치하기 * EPEL 및 yum-utls install 받는다. $ yum install -y epel-release yum-utils * nginx 레포지토리를 작성한다. $ vi /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=https://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=https://nginx.org/packages/mai.. Server/Linux 2022. 3. 29. [linux] firewalld 방화벽 포트 열기 * 리눅스상 80 포트 열기 # firewall-cmd --permanent --zone=public --add-port=80/tcp success # firewall-cmd --reload # firewall-cmd --list-ports 80/tcp Server/Linux 2022. 3. 29. [centos7] centos7 nginx 버전 오류 1. epel repository에 설치된 모든 모듈 삭제 $ sudo yum remove nginx-mod* $ sudo yum remove nginx $ sudo yum remove nginx -- install을 nginx로 했다면 위 명령어를 입력한다. 2. nginx official repository에서 설치 $ sudo yum install nginx-module-* 3. nginx 재시작 $ sudo systemctl restart nginx Server/Linux 2022. 3. 29. [centos7] nginx 설치 외부 저장소를 추가한다. # vi /etc/yum.repos.d/nginx.repo 해당 파일에 다음과 같이 작성한다. [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpg.. Server/Linux 2022. 3. 28. 이전 1 2 다음 728x90