nginx 설치
- 참고 url : https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/
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
repository적용
$ yum update
설치
$ yum install nginx
- nginx설정
자동실행
$ systemctl start nginx $ systemctl enable nginx
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
tomcat연동
- 단독서비스인 경우 (현재 가상화 대부분은 단독서비스로 쓰여져 템플릿은 이를 기반으로 생성함)
default.conf백업
$ cp default.conf default.conf.ori
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; #} }
서비스가 많은 경우
$ 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; } }
- 단독서비스인 경우 (현재 가상화 대부분은 단독서비스로 쓰여져 템플릿은 이를 기반으로 생성함)
nginx user를 tomcat group에 추가
$ gpasswd -a nginx tomcat
추가하는 이유는 nginx에서 tomcat에 접근하기 위함( 파일시스템)
- 우분투의 경우 nginx를 구동하는 계정이 다를 수 있음
nginx구동 중인 계정 확인
$ ps -ef|grep nginx
결과 예시
- 위 경우 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 |
댓글