Nginx
Nginx官網(wǎng)地址:http://nginx.org
Niginx3個(gè)版本:
- Mainline version: 是Nginx目前主力研發(fā)的版本。
- Stable version: 是最新的穩(wěn)定版本,主要用在生產(chǎn)環(huán)境袍祖。
- Legacy version: 穩(wěn)定的老版本瓦糟。
源碼編譯依賴gcc環(huán)境憨琳,需要安裝 gcc椎侠、g++包姿染。
部分Nginx模塊依賴 zlib伐憾、pcre勉痴、openssl庫(kù),需要安裝树肃。
以為安裝過(guò)程需要root權(quán)限蒸矛,所以選擇root用戶安裝。
1胸嘴、升級(jí)apt-get軟件包
sudo apt-get update && sudo apt-get upgrade
2雏掠、安裝nginx的依賴包 zlib pcre openssl(可以源碼安裝也可以直接系統(tǒng)安裝)
sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential
3、下載安裝openssl源碼包
# 下載
wget http://www.openssl.org/source/openssl-1.0.2a.tar.gz
# 解壓
sudo tar -zxvf openssl-1.0.2a.tar.gz -C /usr/local/src/
cd /usr/local/src/openssl-1.0.2a/
# 配置
sudo ./config
# 編譯安裝
sudo make && sudo make instal
4筛谚、下載nginx源碼包
# 下載版本與地址參考官網(wǎng):http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.8.0.tar.gz
# 解壓
sudo tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.8.0
# 配置
sudo ./configure --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl
# 編譯安裝
sudo make && sudo make install
配置nginx 開(kāi)機(jī)服務(wù)
為改善每次操作易用性磁玉,我們?cè)O(shè)置個(gè)nginx系統(tǒng)服務(wù),可以通過(guò)service nginx {start|stop|restart|status} 操作驾讲。
- 創(chuàng)建服務(wù)腳本:
sudo vim /etc/init.d/nginx
#!/bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
# 設(shè)置nginx的啟動(dòng)路徑
DAEMON=/usr/local/nginx/sbin
NAME=nginx
DESC=nginx
if [ -f /etc/default/nginx ]; then
. /etc/default/nginx
fi
test -x $DAEMON || exit 0
set -e
. /lib/lsb/init-functions
test_nginx_config() {
if $DAEMON -t $DAEMON_OPTS >/dev/null 2>&1; then
return 0
else
$DAEMON -t $DAEMON_OPTS
return $?
fi
}
case "$1" in
start)
echo -n "Starting $DESC: "
test_nginx_config
if [ -n "$ULIMIT" ]; then
ulimit $ULIMIT
fi
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON || true
sleep 1
test_nginx_config
if [ -n "$ULIMIT" ]; then
ulimit $ULIMIT
fi
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
test_nginx_config
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
configtest|testconfig)
echo -n "Testing $DESC configuration: "
if test_nginx_config; then
echo "$NAME."
else
exit $?
fi
;;
status)
status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
;;
*)
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
exit 1
;;
esac
exit 0
2蚊伞、設(shè)置文件權(quán)限并增加到系統(tǒng)服務(wù)
sudo chmod +x ./nginx
sudo update-rc.d nginx defaults
3席赂、啟動(dòng)nginx
sudo /etc/init.d/nginx
Nginx簡(jiǎn)單操作
驗(yàn)證是否安裝成功
通過(guò)查看nginx的版本信息查看
/usr/local/nginx/sbin/nginx -v
如果安裝成功會(huì)顯示nginx的版本信息,如:
nginx version: nginx/1.8.0
啟動(dòng)Nginx服務(wù)
/usr/local/nginx/sbin/nginx
查看Nginx進(jìn)程信息
ps -ef | grep nginx
啟動(dòng)成功信息如下:
root 5070 1 0 Feb11 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 5071 5070 0 Feb11 ? 00:00:00 nginx: worker process
ubuntu 31032 22629 0 22:44 pts/0 00:00:00 grep nginx
master process 主要讀取和評(píng)估配置时迫,維護(hù)worker process颅停。
worker process數(shù)量在配置文件中定義,負(fù)責(zé)請(qǐng)求的實(shí)際處理掠拳。Nginx主要基于試講的模型和依賴操作系統(tǒng)的機(jī)制來(lái)高效的在worker process之間分配請(qǐng)求癞揉。
關(guān)閉Nginx服務(wù)
停止進(jìn)程:kill-QUIT 主進(jìn)程號(hào)
快速停止:kill-TERM 主進(jìn)程號(hào)
強(qiáng)行停止:pkill -9 nginx
測(cè)試80端口
netstat -ntulp | grep 80
瀏覽器訪問(wèn)測(cè)試
localhost:80 或 ip:80
會(huì)顯示ngix的歡迎界面
Nginx配置
Nginx安裝目錄:/usr/local/nginx
環(huán)境變量配置
vim /etc/profile
添加Nginx執(zhí)行文件的路徑
export PATH=$PATH:/usr/local/nginx/sbin
使立即生效:source /etc/profile
測(cè)試命令:nginx -v
Nginx源碼編譯配置
使用configure命令配置Nginx各項(xiàng)系統(tǒng)配置,并最終創(chuàng)建一個(gè)Makefile文件溺欧。
- 查看命令幫助信息
cd /usr/local/src/nginx-1.8.0
./configure --help
其中以--without開(kāi)頭為默認(rèn)安裝選項(xiàng)喊熟,以PATH結(jié)尾是手動(dòng)指定依賴庫(kù)源碼目錄選項(xiàng),更詳細(xì)需要參考官網(wǎng)文檔姐刁。
- 配置命令
./configure