1.安裝環(huán)境。
本教程使用Centos7作為安裝環(huán)境勋锤。
(1).gcc
安裝nginx需要先將官網(wǎng)下載的源碼進(jìn)行編譯饭玲,編譯依賴gcc環(huán)境,如果沒有g(shù)cc環(huán)境叁执,需要安裝gcc:
yum install gcc-c++
(2).PCRE
PCRE(Perl Compatible Regular Expressions)是一個Perl庫茄厘,包括perl兼容的正則表達(dá)式庫。nginx的http模塊使用pcre來解析正則表達(dá)式谈宛,所以需要在linux上安裝pcre庫次哈。
yum install -y pcre pcre-devel
(3).zlib
zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內(nèi)容進(jìn)行g(shù)zip吆录,所以需要在linux上安裝zlib庫窑滞。
yum install -y zlib zlib-devel
(4).openssl
OpenSSL 是一個強(qiáng)大的安全套接字層密碼庫,囊括主要的密碼算法径筏、常用的密鑰和證書封裝管理功能及SSL協(xié)議葛假,并提供豐富的應(yīng)用程序供測試或其它目的使用障陶。
nginx不僅支持http協(xié)議滋恬,還支持https(即在ssl協(xié)議上傳輸http),所以需要在linux安裝openssl庫抱究。
yum install -y openssl openssl-devel
2.下載nginx恢氯。
wget?http://nginx.org/download/nginx-1.8.0.tar.gz?
3.編譯安裝。
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx
make
make ?install
4.啟動ginx鼓寺。
cd /usr/local/nginx/sbin/
./nginx
查看進(jìn)程勋拟,master是主進(jìn)程,worker是工作進(jìn)程妈候。
ps -ef | grep nginx
注意:執(zhí)行./nginx啟動nginx敢靡,這里可以-c指定加載的nginx配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c苦银,nginx在啟動時默認(rèn)加載conf/nginx.conf文件啸胧,此文件的地址也可以在編譯安裝nginx時指定./configure的參數(shù)(--conf-path=指向配置文件(nginx.conf))
5.停止nginx。
方式1幔虏,快速停止:
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相當(dāng)于先查出nginx進(jìn)程id再使用kill命令強(qiáng)制殺掉進(jìn)程纺念。
方式2,完整停止(建議使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止想括。
6.重啟nginx陷谱。
方式1,先停止再啟動(建議使用):
對nginx進(jìn)行重啟相當(dāng)于先停止nginx再啟動nginx瑟蜈,即先執(zhí)行停止命令再執(zhí)行啟動命令烟逊。
./nginx -s quit
./nginx
方式2渣窜,重新加載配置文件:
當(dāng)nginx的配置文件nginx.conf修改后,要想讓配置生效需要重啟nginx宪躯,使用-s reload不用先停止nginx再啟動nginx即可將配置信息在nginx中生效泪姨。
./nginx -s reload
7.開機(jī)自動啟動nginx。
(1).vi /etc/init.d/nginx ?(輸入以下代碼)
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
#? ? ? ? ? ? ? It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx? ? #啟動路徑和自己安裝一致
nginx_config=/usr/local/nginx/conf/nginx.conf? #配置文件路徑和自己安裝路徑一致
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
? echo "nginx already running...."
? exit 1
fi
? echo -n $"Starting $prog: "
? daemon $nginxd -c ${nginx_config}
? RETVAL=$?
? echo
? [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
? return $RETVAL
}
# Stop nginx daemons functions.
stop() {
? ? ? ? echo -n $"Stopping $prog: "
? ? ? ? killproc $nginxd
? ? ? ? RETVAL=$?
? ? ? ? echo
? ? ? ? [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
? ? echo -n $"Reloading $prog: "
? ? #kill -HUP `cat ${nginx_pid}`
? ? killproc $nginxd -HUP
? ? RETVAL=$?
? ? echo
}
# See how we were called.
case "$1" in
start)
? ? ? ? start
? ? ? ? ;;
stop)
? ? ? ? stop
? ? ? ? ;;
reload)
? ? ? ? reload
? ? ? ? ;;
restart)
? ? ? ? stop
? ? ? ? start
? ? ? ? ;;
status)
? ? ? ? status $prog
? ? ? ? RETVAL=$?
? ? ? ? ;;
*)
? ? ? ? echo $"Usage: $prog {start|stop|restart|reload|status|help}"
? ? ? ? exit 1
esac
exit $RETVAL
:wq ?保存并退出
(2).設(shè)置文件的訪問權(quán)限
chmod a+x /etc/init.d/nginx
(3).開機(jī)啟動倡蝙,加入rc.local文件中
vi /etc/rc.local
加入一行??/etc/init.d/nginx start ???
:wq保存并退出旅敷,下次重啟系統(tǒng)會生效。
測試是否成功:
訪問服務(wù)器ip地址
出現(xiàn)以下welcome就成功啦冬阳!