[컴] CentOS 8 에서 nginx 설치

 

RHEL 8 에서 설치 / nginx

CentOS 8 에서 nginx 설치

copy nginx.repo /etc/yum.repos.d/
dnf install nginx

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=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

참고로 RedHat 은 다음 주소를 사용한다.

https://nginx.org/packages/rhel/8/x86_64/

실행 계정 설정

useradd nginx
usermod -s /sbin/nologin nginx

실행

sudo systemctl status nginx
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl reload nginx
sudo systemctl restart nginx

reload 를 하면, configuration file 를 reload 하면서도 reload 하면서도 nginx 는 계속 살이있다. 만약 config file 의 syntax error 가 있으면, reload 가 abort 되고, 서버는 옛날 config 로 계속 돈다.

그외의 방법은 아래처럼 init.d 를 사용하거나, nginx cli 를 사용하는 것이 있다. 자세한 내용은 ref. 3 에서 볼 수 있다.

sudo /etc/init.d/nginx stop
sudo nginx -s stop

nginx 를 booting 할 때 자동으로 실행 하도록

sudo systemctl enable nginx
sudo systemctl disable nginx

systemctl

기본적으로 nginx.service 가 만들어지지만, 수동으로 만들고 싶다면 다음 방법을 이용하자.

vi /lib/systemd/system/nginx.service

참고로 centos8 에서 가져온 내용이다.

다른 내용은 여기 를 참고하자.

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"

[Install]
WantedBy=multi-user.target

See Also

  1. CommandLine | NGINX :
    • nginx 가 동작중, 새로운 binary 로 변경하는 법이 나와 있다. 기존의 binary를 새로운 것으로 바꾸고, master process 에 USR2 signal 을 주면 된다고 한다. 자세한 것은 링크를 확인하자.

Reference

  1. Install | NGINX
  2. Install NGINX on Centos 7 Without Internet Connection · GitHub
  3. How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands)

댓글 없음:

댓글 쓰기