1. 程式人生 > 實用技巧 >Centos7編譯Nginx1.19.0筆記

Centos7編譯Nginx1.19.0筆記

下載Nginx安裝包

官網下載頁:http://nginx.org/en/download.html

終端輸入:

# 安裝依賴
yum -y install wget gcc gcc-c++ autoconf automake make zlib zlib-devel pcre-devel pcre openssl openssl-devel
wget http://nginx.org/download/nginx-1.19.0.tar.gz

解壓命令:tar -zxvf

tar -zxvf nginx-1.19.0.tar.gz 

編譯安裝

先進入剛才解壓的目錄

cd nginx-1.19.0

安裝引數配置

./configure --without-http_rewrite_module --without-http_gzip_module

關於引數, --with 是指預設不會編譯模組, 手動加上這個引數, 就會編譯該模組

--without 是指預設會編譯該模組, 如果加上該引數, 是指將該模組去除

編譯和安裝

make && make install

nginx預設會安裝在/usr/local/nginx目錄下

配置服務

vim /etc/init.d/nginx 
#新增程式碼
#!/bin/sh
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15

# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server

# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

lockfile=/var/lock/subsys/nginx

start() {

[ -x $nginx ] || exit 5

[ -f $NGINX_CONF_FILE ] || exit 6

echo -n $"Starting $prog: "

daemon $nginx -c $NGINX_CONF_FILE

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}


stop() {

echo -n $"Stopping $prog: "

killproc $prog -QUIT

retval=$?

echo

[ $retval -eq 0 ] && rm -f $lockfile

return $retval

}



restart() {

configtest || return $?

stop

start

}


reload() {

configtest || return $?

echo -n $"Reloading $prog: "

killproc $nginx -HUP

RETVAL=$?

echo

}

force_reload() {

restart

}


configtest() {

$nginx -t -c $NGINX_CONF_FILE

}



rh_status() {

status $prog

}


rh_status_q() {

rh_status >/dev/null 2>&1

}

case "$1" in

start)

rh_status_q && exit 0
$1
;;

stop)


rh_status_q || exit 0
$1
;;

restart|configtest)
$1
;;

reload)
rh_status_q || exit 7
$1
;;


force-reload)
force_reload
;;
status)
rh_status
;;


condrestart|try-restart)

rh_status_q || exit 0
;;

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac

cd /etc/init.d
chmod 755 /etc/init.d/nginx
chkconfig --add nginx

啟動

service nginx start

常用操作

全域性使用nginx命令

#新增環境變數
vim /etc/profile
#加到最後
PATH=$PATH:/usr/local/nginx/sbin
export PATH
#讓配置檔案重新生效
source /etc/profile

常用命令

配置檢查

nginx -t

啟動

service nginx start
nginx

快速關閉

nginx -s stop

從容停止服務

需要程序完成當前工作後再停止

nginx -s quit

重新載入配置檔案

nginx -s reload

重啟

nginx -s reopen

完成頁面