Nginx 安裝詳細(xì)教程
1. Nginx簡(jiǎn)單介紹
Nginx是一款自由的、開(kāi)源的、高性能的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介紹以及作用請(qǐng)自行百度
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問(wèn)題。
[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中,用來(lái)清除指定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/
注:‘='號(hào)后面是自己安裝包的絕對(duì)路徑,和配置文件路徑。
[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í)候動(dòng)態(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)以下問(wèn)題:
需要?jiǎng)?chuàng)建此目錄:
[root@nginx nginx-1.14.0]# mkdir -p /var/tmp/nginx/client
7.配置Nginx開(kāi)機(jī)自啟動(dòng)等命令,方便我們管理Nginx
原始管理nginx的命令,不是很方便!
[root@nginx-master ~]# nginx 啟動(dòng)nginx [root@nginx-master ~]# nginx -s reload 重啟nginx [root@nginx-master ~]# nginx -s stop 停止nginx
接下來(lái)設(shè)置常用的管理命令:
1) 創(chuàng)建開(kāi)機(jī)啟動(dòng)命令腳本文件:
[root@nginx ~]# vim /etc/init.d/nginx
2) 在這個(gè)Nginx文件中插入一下啟動(dòng)腳本代碼:
-----------------------------------腳本如下 ----------------------------------- #! /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è)置所有人都有對(duì)這個(gè)啟動(dòng)腳本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è)置為開(kāi)機(jī)啟動(dòng):
[root@nginx init.d]# chkconfig nginx on
注:reboot重啟系統(tǒng)生效!
6) 重啟后,就可以執(zhí)行如下命令進(jìn)行管理了
systemctl start nginx.service # 啟動(dòng)nginx systemctl stop nginx.service # 結(jié)束nginx systemctl restart nginx.service # 重啟nginx systemctl enable nginx.service # 開(kāi)機(jī)啟動(dòng)
8. 如果出現(xiàn) Nginx 啟動(dòng)不了,請(qǐng)嘗試以下方法
1) 如果之前安裝過(guò)httpd,側(cè)需要先卸載httpd,否則啟動(dòng)失敗,除非修改Nginx啟動(dòng)端口。
[root@nginx ~]# yum remove httpd -y
2) 如果還是啟動(dòng)不來(lái),再試試這個(gè)方法:殺死Nginx相關(guān)的進(jìn)程之后,啟動(dòng)Nginx
[root@nginx ~]#ps -A | grep nginx [root@nginx ~]#kill -9 pid1 [root@nginx ~]#kill -9 pid2
3) 如果還是不行,查看日志信息解決。
9.啟動(dòng)Nginx并訪問(wèn)測(cè)試
注:后續(xù)繼續(xù)更新Nginx優(yōu)化及反向代理功能!
總結(jié)
以上所述是小編給大家介紹的Nginx 安裝詳細(xì)教程,希望對(duì)大家有所幫助!
相關(guān)文章
nginx中g(shù)zip壓縮提升網(wǎng)站速度的實(shí)現(xiàn)方法
這篇文章主要介紹了nginx中g(shù)zip壓縮提升網(wǎng)站速度的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08在Nginx中增加對(duì)OAuth協(xié)議的支持的教程
這篇文章主要介紹了在Nginx中增加對(duì)OAuth協(xié)議的支持的教程,OAuth協(xié)議如今廣泛用于社交網(wǎng)絡(luò)的API中,需要的朋友可以參考下2015-06-06Nginx中return和rewrite的寫(xiě)法及區(qū)別淺析
在Nginx中,return和rewrite都用于重定向,但有所區(qū)別,return立即終止請(qǐng)求并返回指定HTTP狀態(tài)碼,不額外請(qǐng)求,rewrite則重寫(xiě)URI并引發(fā)新請(qǐng)求,需要的朋友可以參考下2024-09-09如何在centos上使用yum安裝rabbitmq-server
這篇文章主要介紹了如何在centos上使用yum安裝rabbitmq-server,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Nginx出現(xiàn)404 Not Found nginx/1.23.4的完美解決方案
在Nginx配置過(guò)程中,404 Not Found錯(cuò)誤是一個(gè)常見(jiàn)問(wèn)題,本文將詳細(xì)解析Nginx 404 Not Found的原因及解決方案,確保您能夠輕松解決這一問(wèn)題,需要的小伙伴跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧2024-07-07