웹서버 이야기/Nginx

nginx 설치 및 설정

한희성 2019. 7. 22.
반응형
  1. nginx 설치

    1. 참고 url : https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/
    2. repository설정

      $ vi /etc/yum.repos.d/nginx.repo
      -------------------------------------------
      [nginx]
      name=nginx repo
      baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
      gpgcheck=0
      enabled=1
    3. repository적용

      $ yum update
    4. 설치

      $ yum install nginx
  2. nginx설정
    1. 자동실행

      $ systemctl start nginx
      $ systemctl enable nginx
    2. start/stop/reload

      tomcat 계정에서는
      sudo systemctl start nginx
      sudo systemctl stop nginx
      sudo systemctl restart nginx
      sudo systemctl reload nginx
      sudo service tomcat10 start
      sudo service tomcat10 stop
  3. tomcat연동

    1. 단독서비스인 경우 (현재 가상화 대부분은 단독서비스로 쓰여져 템플릿은 이를 기반으로 생성함)
      1. default.conf백업

        $ cp default.conf default.conf.ori
      2. default.conf 변경 (모든 url에 대해 설정)

        server { listen 80; server_name localhost; client_max_body_size 500M; charset UTF-8; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; # location / { # root /usr/share/nginx/html; # index index.html index.htm; # } location /www_contents/ { alias ; #autoindex on; } location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }

    2. 서비스가 많은 경우

      $ vi /etc/nginx/conf.d/tomcat.conf ----------------------------------------------------------------- server { listen 80; server_name 도메인; client_max_body_size 500M; charset UTF-8; #access_log logs/host.access.log main; location /www_contents/ { alias /u00/www_contents/폴더/; autoindex on; } location / { #index index.html index.htm; proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

  4. nginx user를 tomcat group에 추가

    $ gpasswd -a nginx tomcat

    추가하는 이유는 nginx에서 tomcat에 접근하기 위함( 파일시스템)

  5. 우분투의 경우 nginx를 구동하는 계정이 다를 수 있음
    1. nginx구동 중인 계정 확인

      $ ps -ef|grep nginx

      결과 예시

    2. 위 경우 www-data이므로 gpasswd -a www-data tomcat 수행


반응형

'웹서버 이야기 > Nginx' 카테고리의 다른 글

[NGINX] nginx 설정 값 정리 #펌  (0) 2024.03.12
[Nginx] Nginx 기능들  (0) 2020.08.11
[Nginx] www 도메인이 없는경우  (0) 2020.07.14

댓글

💲 추천 글