1. 程式人生 > >centos7 下安裝 nginx-1.12.2

centos7 下安裝 nginx-1.12.2

1.環境:
centos7
nginx: nginx-1.12.2.tar.gz

2.下載nginx:

wget http://nginx.org/download/nginx-1.12.2.tar.gz

3.解壓安裝包

tar zxvf nginx-1.12.2.tar.gz

4.配置安裝路徑,cd nginx-1.12.2下

 ./configure --prefix=/usr/local/nginx

提示缺少包,要安裝pcre ,pcre-devel,zlib,zlib-devel,那依次安裝

yum install pcre
yum install pcre-devel
yum install
zlib yum install zlib-devel

5. 編譯

make & make install

6.啟動Nginx,切換到/usr/local/nginx 下

看到如下4個目錄
./
….conf 配置檔案
… html 網頁檔案
…logs 日誌檔案
…sbin 主要二進位制程式

./sbin/nginx

7. 檢視啟動的程序和埠

[root@localhost nginx]# ps -ef|grep nginx
root      16050      1  0 00:44 ?        00:00:00 nginx: master process ./sbin/nginx
nobody    16051
16050 0 00:44 ? 00:00:00 nginx: worker process root 16063 6097 0 00:44 pts/1 00:00:00 grep --color=auto nginx [root@localhost nginx]# netstat -tnlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0
0 127.0.0.1:6379 0.0.0.0:* LISTEN 1352/redis-server 1 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 16050/nginx: master tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2479/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1142/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1148/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2321/master tcp6 0 0 :::22 :::* LISTEN 1142/sshd tcp6 0 0 ::1:631 :::* LISTEN 1148/cupsd tcp6 0 0 :::8888 :::* LISTEN 2648/java tcp6 0 0 ::1:25 :::* LISTEN 2321/master

8.如有程序點用了80埠,可以殺掉佔用的程序

netstat -ant 
kill -9 pid

9.訊號控制 停止或啟動nginx

[root@localhost nginx]# ps aux|grep nginx
root      16050  0.0  0.0  20484   612 ?        Ss   00:44   0:00 nginx: master process ./sbin/nginx
nobody    16051  0.0  0.1  23012  1380 ?        S    00:44   0:00 nginx: worker process
root      17288  0.0  0.0 112648   948 pts/1    S+   01:04   0:00 grep --color=auto nginx
[root@localhost nginx]# kill -INT 16050
[root@localhost nginx]# ps aux|grep nginx
root      17477  0.0  0.0 112648   948 pts/1    S+   01:07   0:00 grep --color=auto nginx
[root@localhost nginx]# ./sbin/nginx 
[root@localhost nginx]# ps aux|grep nginx
root      17495  0.0  0.0  20484   616 ?        Ss   01:08   0:00 nginx: master process ./sbin/nginx
nobody    17496  0.0  0.1  23012  1384 ?        S    01:08   0:00 nginx: worker process
root      17500  0.0  0.0 112648   948 pts/1    S+   01:08   0:00 grep --color=auto nginx
vim ./conf/nginx.conf

這裡寫圖片描述

這裡寫圖片描述

訪問nginx首頁

curl http://localhost 

10.HUP 優雅的重啟讀取配置檔案

kill -HUP 16050  ( nginx master pid)
  1. 也可以用其他的命令
[root@localhost nginx]# ./sbin/nginx -h
nginx version: nginx/1.12.2
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/local/nginx/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file
./sbin/nginx -s reload  相當於 kill -HUP 'cat ./logs/nginx.pid'
./sbin/nginx -s stop  
./sbin/nginx -s quit 
./sbin/nginx -s reopen 相當於 kill -USR1 'cat ./logs/nginx.pid'

11.測試配置檔案是配置正確

[root@localhost nginx]# ./sbin/nginx  -t
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]#