Nginx 安裝詳細(xì)教程
1. Nginx簡單介紹
Nginx是一款自由的、開源的、高性能的HTTP服務(wù)器和反向代理服務(wù)器;同時(shí)也是一個(gè)IMAP、POP3、SMTP代理服務(wù)器;Nginx可以作為一個(gè)HTTP服務(wù)器進(jìn)行網(wǎng)站的發(fā)布處理,另外Nginx可以作為反向代理進(jìn)行負(fù)載均衡的實(shí)現(xiàn)。
更多關(guān)于Nginx介紹以及作用請自行百度
2.安裝Nginx基礎(chǔ)依賴包
[root@nginx ~]# yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y
3.下載相關(guān)的軟件包3.1下載nginx穩(wěn)定版
注:進(jìn)入Nginx安裝包下載地址復(fù)制您想要的版本鏈接,我這里以Nginx-1.14.0為例。
[root@nginx~]# cd /usr/local/src/ [root@ nginx src]# wget http://nginx.org/download/nginx-1.14.0.tar.gz
3.2 下載nginx-sticky模塊(可選安裝,應(yīng)用于集群)
作用:后端做負(fù)載均衡解決session sticky問題。
[root@nginx src]# wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
3.3下載ngx_cache_purge模塊(可選安裝)
作用:將ngx_cache_purge編譯到到Nginx中,用來清除指定URL的緩存。
(官網(wǎng)地址:http://labs.frickle.com/nginx_ngx_cache_purge/)
[root@nginx src]# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

4.添加Nginx用戶和組
[root@nginx ~]# groupadd www [root@nginx ~]# useradd -g www www -s /sbin/nologin
注:創(chuàng)建nginx運(yùn)行用戶www并加入到www組,不允許www用戶直接登錄系統(tǒng)。
5.解壓Nginx源碼包并進(jìn)入解壓目錄,進(jìn)行編譯安裝
[root@nginx src]# tar zxf nginx-1.14.0.tar.gz # 注意3.2的可選項(xiàng) [root@nginx src]# tar zxf ngx_cache_purge-2.3.tar.gz # 注意3.3的可選項(xiàng) [root@nginx src]# tar zxf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz [root@nginx src]# cd nginx-1.14.0/
注:‘='號后面是自己安裝包的絕對路徑,和配置文件路徑。
[root@nginx-master nginx-1.14.0]# ./configure --prefix=/usr/local/nginx > --user=www --group=www > --with-http_stub_status_module > --with-http_realip_module --with-http_ssl_module > --with-http_gzip_static_module > --http-client-body-temp-path=/var/tmp/nginx/client > --http-proxy-temp-path=/var/tmp/nginx/proxy > --http-fastcgi-temp-path=/var/tmp/nginx/fcgi # 注意3.2的可選項(xiàng) > --with-pcre --add-module=/usr/local/src/ngx_cache_purge-2.3 # 注意3.3的可選項(xiàng) > --add-module=/usr/local/src/nginx-goodies-nginx-sticky-module-ng-08a395c66e42

執(zhí)行完編譯后:

[root@nginx nginx-1.14.0]# make && make install
注:Nginx的所有模塊必須在編譯的時(shí)候添加,不能再運(yùn)行的時(shí)候動態(tài)加載。
6.優(yōu)化Nginx程序的執(zhí)行路徑
[root@nginx nginx-1.14.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ [root@nginx nginx-1.14.0]# nginx -t
如果出現(xiàn)以下問題:

需要?jiǎng)?chuàng)建此目錄:
[root@nginx nginx-1.14.0]# mkdir -p /var/tmp/nginx/client

7.配置Nginx開機(jī)自啟動等命令,方便我們管理Nginx
原始管理nginx的命令,不是很方便!
[root@nginx-master ~]# nginx 啟動nginx [root@nginx-master ~]# nginx -s reload 重啟nginx [root@nginx-master ~]# nginx -s stop 停止nginx
接下來設(shè)置常用的管理命令:
1) 創(chuàng)建開機(jī)啟動命令腳本文件:
[root@nginx ~]# vim /etc/init.d/nginx
2) 在這個(gè)Nginx文件中插入一下啟動腳本代碼:
-----------------------------------腳本如下 -----------------------------------
#! /bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
scriptNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $scriptNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
[root@nginx ~]# cd /etc/init.d/
3) 設(shè)置所有人都有對這個(gè)啟動腳本nginx文件的執(zhí)行權(quán)限:
[root@nginx init.d]# chmod a+x nginx
4) 把nginx加入系統(tǒng)服務(wù)中:
[root@nginx init.d]# chkconfig --add nginx
5) 把服務(wù)設(shè)置為開機(jī)啟動:
[root@nginx init.d]# chkconfig nginx on
注:reboot重啟系統(tǒng)生效!
6) 重啟后,就可以執(zhí)行如下命令進(jìn)行管理了
systemctl start nginx.service # 啟動nginx systemctl stop nginx.service # 結(jié)束nginx systemctl restart nginx.service # 重啟nginx systemctl enable nginx.service # 開機(jī)啟動
8. 如果出現(xiàn) Nginx 啟動不了,請嘗試以下方法
1) 如果之前安裝過httpd,側(cè)需要先卸載httpd,否則啟動失敗,除非修改Nginx啟動端口。
[root@nginx ~]# yum remove httpd -y
2) 如果還是啟動不來,再試試這個(gè)方法:殺死Nginx相關(guān)的進(jìn)程之后,啟動Nginx
[root@nginx ~]#ps -A | grep nginx [root@nginx ~]#kill -9 pid1 [root@nginx ~]#kill -9 pid2
3) 如果還是不行,查看日志信息解決。
9.啟動Nginx并訪問測試

注:后續(xù)繼續(xù)更新Nginx優(yōu)化及反向代理功能!
總結(jié)
以上所述是小編給大家介紹的Nginx 安裝詳細(xì)教程,希望對大家有所幫助!
相關(guān)文章
nginx反向代理踩坑實(shí)戰(zhàn)記錄(容器方式)
Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù),下面這篇文章主要給大家介紹了關(guān)于nginx反向代理踩坑(容器方式)的相關(guān)資料,需要的朋友可以參考下2022-04-04
nginx代理多次302的解決方法(nginx Follow 302)
這篇文章主要介紹了nginx代理多次302的解決方法(nginx Follow 302),詳細(xì)的介紹了解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
nginx 老網(wǎng)站域名重定向到新網(wǎng)站的方法(親測)
本文主要介紹了nginx 老網(wǎng)站域名重定向到新網(wǎng)站的方法,以減少業(yè)務(wù)影響并確保流量導(dǎo)向新域名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Nginx?Rewrit實(shí)現(xiàn)網(wǎng)頁跳轉(zhuǎn)功能詳細(xì)步驟
Rewrite主要實(shí)現(xiàn)url地址重寫,以及重定向,就是把傳入web的請求重定向到其他url的過程,這篇文章主要介紹了Nginx?Rewrit實(shí)現(xiàn)網(wǎng)頁跳轉(zhuǎn)功能詳細(xì)步驟,需要的朋友可以參考下2024-02-02
Nginx下Wordpress的永久鏈接實(shí)現(xiàn)(301,404等)
經(jīng)過多番測試,終于在nginx下實(shí)現(xiàn)了rewrite的功能,WrodPress的永久鏈接終于生效了2012-09-09

