컴 파일 링 nginx 설치 시 자동 시작 설정
Nginx 설치
환경 소개
운영 체제:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
nginx 소프트웨어 버 전: nginx - 1.17.6. tar. gz
설치 의존
주의: 컴 파일 설 치 는 반드시 개발 도 구 를 설치 해 야 합 니 다. 그렇지 않 으 면 설치 하거나 설치 할 수 없습니다.
[root@localhost opt]# yum -y install openssl openssl-devel zlib zlib-devel pcre pcre-devel make gcc gcc-c++
설치 nginx
[root@localhost ~]# cd /opt/
[root@localhost opt]# wget http://nginx.org/download/nginx-1.17.6.tar.gz
[root@localhost opt]# tar zxf nginx-1.17.6.tar.gz
[root@localhost opt]# cd nginx-1.17.6/
[root@localhost opt]# cd nginx-1.17.6/
[root@localhost nginx-1.17.6]#
[root@localhost nginx-1.17.6]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@localhost nginx-1.17.6]# ./configure --prefix=/usr/local/nginx && make && make install
시작 테스트 nginx
[root@localhost nginx-1.17.6]# cd /usr/local/nginx/
[root@localhost nginx]# ls
conf html logs sbin
[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ./nginx
[root@localhost sbin]# netstat -anpl | grep nginx //
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11881/nginx: master
unix 3 [ ] STREAM CONNECTED 53405 11881/nginx: master
unix 3 [ ] STREAM CONNECTED 53404 11881/nginx: master
[root@localhost sbin]# ps aux | grep nginx //
jia 5496 0.0 0.0 302400 852 ? Sl 10:58 0:00 /usr/libexec/ibus-engine-simple
root 11881 0.0 0.0 20560 620 ? Ss 11:23 0:00 nginx: master process ./nginx
nobody 11882 0.0 0.1 23080 1632 ? S 11:23 0:00 nginx: worker process
root 11896 0.0 0.1 112728 988 pts/0 S+ 11:24 0:00 grep --color=auto ngin
시스템 명령 으로 설정
[root@localhost sbin]# ln nginx /usr/local/sbin/
[root@localhost ~]# nginx -t // nginx
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost ~]# nginx -s stop // nginx
[root@localhost ~]# which nginx //
/usr/local/sbin/nginx
방법 은 rc. local 스 크 립 트 를 이용 합 니 다.
rc. local 은 로 딩 파일 을 시작 합 니 다. Liux 에서 프로그램 을 시작 하려 면 rc. local 을 수정 하여 완성 할 수 있 습 니 다. 이 파일 을 시작 할 때 불 러 올 파일 이기 때문에 Liux 라 는 파일 을 이용 하여 nginx 를 시작 할 수 있 습 니 다.
[root@localhost ~]# cat /etc/rc.local // /etc
rc.local :
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
이 파일 을 사용 하면 시작 할 때 시작 하고 싶 은 명령 을 설정 할 수 있 습 니 다. 실행 하고 싶 은 명령 을 rc. local 에 직접 쓰 면 됩 니 다. nginx 시작 명령 을 이 파일 에 추가 합 니 다.
[root@localhost ~]# echo sh /usr/local/nginx/sbin/nginx >> /etc/rc.local
[root@localhost ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
/usr/local/nginx/sbin/nginx
nginx
nginx
그리고 시스템 을 다시 시작 해서 포트 와 프로 세 스 를 다시 봅 시다.
[root@localhost ~]# reboot
nginx
[root@localhost ~]# netstat -anpl | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4847/nginx: master
unix 3 [ ] STREAM CONNECTED 39265 4847/nginx: master
unix 3 [ ] STREAM CONNECTED 39264 4847/nginx: master
[root@localhost ~]# ps aux | grep nginx
root 4847 0.0 0.0 20560 612 ? Ss 11:45 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 4848 0.0 0.1 23080 1388 ? S 11:45 0:00 nginx: worker process
root 4860 0.0 0.1 112724 988 pts/0 S+ 11:45 0:00 grep --color=auto nginx
[root@localhost ~]#
방법 2 설정 시스템 서비스
자동 시작 설정 추천
시작 을 설정 하여 pid 파일 생 성
pid 파일 은 프로 세 스 파일 에 프로그램 이 실행 중인 프로 세 스 ID 를 저장 합 니 다. 즉, 프로 세 스 번호 nginx 에서 pid 파일 을 생 성 하려 면 프로필 을 수정 해 야 합 니 다. * 수정 내용 은 다음 과 같 습 니 다. * *
, nginx.conf
pid logs/nginx.pid;
/ usr / lib / systemd / system 경로 에 nginx. service 파일 추가
/ usr / lib / systemd / system 이 디 렉 터 리 는 시스템 서 비 스 를 저장 하 는 nginx 파일 내용 입 니 다.
[root@localhost system]# cat nginx.service
[Unit]
Description=nginx //
After=syslog.target network.target remote-fs.target nss-lookup.target \\
[Service]
Type=forking // ,
PIDFile=/usr/local/nginx/logs/nginx.pid // PID
ExecStart=/usr/local/nginx/sbin/nginx //
ExecReload=/bin/kill -s HUP $MAINPID //
ExecStop=/bin/kill -s QUIT $MAINPID //
PrivateTmp=true //
*
[Install] /// ,
WantedBy=multi-user.target
메모: 이 파일 은 754 권한 이 필요 합 니 다.
테스트 시작 닫 기
[root@localhost ~]# systemctl start nginx //
[root@localhost ~]# netstat -anpl | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5249/nginx: master
unix 3 [ ] STREAM CONNECTED 42458 5249/nginx: master
unix 3 [ ] STREAM CONNECTED 42459 5249/nginx: master
[root@localhost ~]# systemctl stop nginx //
[root@localhost ~]# netstat -anpl | grep nginx
[root@localhost ~]# systemctl restart nginx //
[root@localhost ~]# netstat -anpl | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5289/nginx: master
unix 3 [ ] STREAM CONNECTED 45346 5289/nginx: master
unix 3 [ ] STREAM CONNECTED 45347 5289/nginx: master
주의해 야 할 것 은 이전에 실행 한 스 크 립 트 를 사용 하여 서 비 스 를 시작 하 는 것 입 니 다. 이 방법 으로 서 비 스 를 닫 을 수 없습니다.
자동 시작 설정
[root@localhost ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@localhost ~]# systemctl enable nginx
효과 다시 보기
[root@localhost ~]# netstat -anpl | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4081/nginx: master
unix 3 [ ] STREAM CONNECTED 32429 4081/nginx: master
unix 3 [ ] STREAM CONNECTED 32428 4081/nginx: master
init. d 설정 켜 기 시작
init 시작 방식 은 centos 7 시스템 버 전에 서 추천 하지 않 습 니 다.
/ etc / init. d 디 렉 터 리 에 시작 파일 nginx 만 들 기
파일 내용 은 다음 과 같 습 니 다.
#!/bin/bash
# chkconfig: 345 80 20 //
# description: start the nginx deamon //
# Source function library
. /etc/rc.d/init.d/functions
prog=nginx
# CATALANA_HOME
CATALANA_HOME=/usr/local/nginx
export CATALINA_HOME
case "$1" in
start)
echo "Starting nginx..."
$CATALANA_HOME/sbin/nginx
;;
stop)
echo "Stopping nginx..."
$CATALANA_HOME/sbin/nginx -s stop
;;
restart)
echo "Stopping nginx..."
$CATALANA_HOME/sbin/nginx -s stop
sleep 2
echo
echo "Starting nginx..."
$CATALANA_HOME/sbin/nginx
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0
권한 설정
[root@localhost ~]# chmod +x /etc/init.d/nginx //
테스트 시작
[root@localhost init.d]# service nginx start // nginx
Starting nginx (via systemctl): [ ]
[root@localhost init.d]# netstat -anpl | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4081/nginx: master
unix 3 [ ] STREAM CONNECTED 38534 4081/nginx: master
unix 3 [ ] STREAM CONNECTED 38535 4081/nginx: master
[root@localhost init.d]# service nginx stop // nginx
Stopping nginx (via systemctl): [ ]
[root@localhost init.d]# netstat -anpl | grep nginx
[root@localhost init.d]# service nginx restart // nginx
Restarting nginx (via systemctl): [ ]
[root@localhost init.d]# netstat -anpl | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5304/nginx: master
unix 3 [ ] STREAM CONNECTED 43218 5304/nginx: master
unix 3 [ ] STREA
centos 7 에서 init. d 의 서 비 스 는 기본적으로 system 디 렉 터 리 에 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.