您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux安裝Nginx的注意事項有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Linux安裝Nginx的注意事項有哪些文章都會有所收獲,下面我們一起來看看吧。
1.nginx的簡單說明
a. nginx是一個高性能的http和反向代理服務器,也是一個imap/pop3/smtp服務器,期初開發的目的就是為了代理電子郵件服務器室友:igor sysoev開發,源代碼符合bsd開源。其特點就是占用內存少并發能力強,在天朝使用nginx的大型網站已經有很多:百度、淘寶、騰訊等等...。
b.nginx作為http服務器,有以下幾項基本特征:
b.1 處理靜態文件,索引文件以及自動索引,打開文件描述符緩沖。
b.2 無緩存的反向代理加速,簡單的負載均衡和容錯
b.3 模塊化的結構,包括gzipping,byte ranges,chunked responses以及ssi-filter等filter,如果由fastcgi或其它代理服務器處理蛋液中存在的多個ssi,則這項處理可以并行運行,而不需要相互等待。
b.4 支持ssl和tlssni。
c.nginx官網:
2.準備工作
a.上面簡單介紹了一下nginx,大家如果想要了解更多關于nginx的知識,請自行通過網絡學習。
b.工欲善其事必先利其器,下面我們就在linux下面簡單安裝一下niginx,在安裝過程中需要了一些問題,同步都會在博客中說出來。
c.nginx的安裝依賴于以下三個包,意思就是在安裝nginx之前首先必須安裝一下的三個包,安裝順序為我寫的順序:
c.1 ssl功能需要openssl庫,下載地址:
c.2 gzip模塊需要zlib庫,下載地址:
c.3 rewrite模塊需要pcre庫,下載地址:
d.nginx的安裝包:下載地址為:
e.將上面下載的幾個軟件全部使用xftp上傳到linux系統中,上傳路徑和軟件如圖所示:
f.操作需要的軟件以及系統如下:虛擬機(vmware),虛擬機中安裝的centos系統,xshell,xftp,以及上面的幾個包。
g.下面開始按照上面說的按照順序開始安裝軟件。
3.安裝ssl功能需要openssl庫以及gzip模塊需要的zlib庫
a(1).首先我們安裝ssl功能需要的openssl庫插件,注意:安裝過程是按照我在linux下設置的文件路徑來安裝的,命令如下:
a.1 tar -zxvf soft/openssl-snap-20160104
a.2 cd cd openssl-snap-20160104/
a.3 ./config
a.4 make
a.5 make install
b(1).安裝gzip模塊需要zlib庫的安裝方法和openssl安裝的方法一模一樣,也是分為上面五個步驟,只不過是文件的名稱不一樣,命令簡單如下:
b.1 tar -zxvf soft/openssl-snap-20160104
b.2 cd openssl-snap-20160104/
b.3 ./configure
b.4 make
b.5 make install
b.如果沒有報錯,則說明安裝完全完成了~。
4.安裝 rewrite模塊需要pcre庫
a.安裝 rewrite模塊需要pcre庫的安裝方法和openssl安裝的方法一模一樣,也是分為上面五個步驟,只不過是文件的名稱不一樣,命令簡單如下:
a.1 tar -zxvf soft/pcre-8.38.tar.gz
a.2 cd pcre-8.38/
a.3 ./configure
a.4 make
a.5 make install
b.在執行./configure的出現錯誤了,導致不能繼續往下執行,報錯內容為:
error: you need a c++ compiler for c++ support,看到這句話我們就已經猜到了應該是c++包信息,而linux中沒有,那么首先安裝一下這個包信息即可,安裝命令為:
yum install -y gcc gcc-c++
c.當安裝完上面的c++包之后,在此運行,發現消息已經顯示安裝成功了,當基于上面的東西全部安裝完成之后,就需要安裝nginx服務了。
5.安裝 nginx服務
a.安裝 rewrite模塊需要pcre庫的安裝方法和openssl安裝的方法一模一樣,也是分為上面五個步驟,只不過是文件的名稱不一樣,命令簡單如下:
a.1 tar -zxvf soft/nginx-1.9.9.tar.gz
a.2 cd nginx-1.9.9/
a.3 ./configure --with-pcre=../pcre-8.38/ --with-zlib=../zlib-1.2.8/ --with-openssl=../openssl-snap-20160104/
a.4 make
a.5 make install
b.在執行./configure的出現錯誤了,導致不能繼續往下執行,報錯內容為:
error: you need a c++ compiler for c++ support,看到這句話我們就已經猜到了應該是c++包信息,而linux中沒有,那么首先安裝一下這個包信息即可,安裝命令為:
yum install -y gcc gcc-c++
c.當安裝完上面的c++包之后,在此運行,發現消息已經顯示安裝成功了。博文到這里如果安裝的時候沒有遇到錯誤的話說明已經安裝成功了,下面我們就是測試nginx是否安裝成功。
6.監測nginx是否安裝成功
a.當上面的所有步驟完成之后,則說明nginx安裝已經完成,那么我們如何來確定是否安裝成功了呢?通過以下命令來確定即可。
a.1 cd /usr/local/nginx/sbin/
a.2 ./nginx -t
b. 當我執行第二個命令(./nginx -t)的時候出錯了,報沒有權限的錯誤。如圖所示:
備注:根據錯誤提示,我們就能夠看出來,是說/usr/local/nginx下沒有權限,解決辦法也很簡單,我們給文件賦值權限。
c.如下圖所示,配置權限(配置權限需要切換到root用戶下)之后,執行上面兩個步驟,如果linux中如下圖所示:則說明安裝已成功。
d.當確認安裝完成之后,首先就需要啟動和查看nginx默認安裝的端口是多少,兩個命令分別如下:
(1) ./nginx
(2) netstat -ntlp , nginx默認端口為80
e.開放80端口,讓其外部環境可以訪問(如果不開放80端口,外部環境訪問不了),命令以及截圖如下:
vim /etc/sysconfig/iptables
備注:這里我使用vim更改防火強信息之后,在重新啟動防火墻的時候出現了錯誤,錯誤信息為:try `iptables-restore -h' or 'iptables-restore --help' for more information,這個錯誤信息提示我們不能重新啟動防火墻,那怎么辦呢?測試了一下已寫命令的方式去更改,發現更改成功了,如圖所示:
f.當上面的工作完成之后,我們在外部瀏覽器中瀏覽:http://ip,出現如圖所示,則說明安裝已完全完成。
7.將nginx設置為開機自動啟動
a.當上面6步完成之后,說明安裝已經完全成功了,但是每次開機我們面臨的一個問題,就是每次都要執行命令(1: cd /usr/local/nginx/sbin/ 2:./nginx -t),那么這時候有這個需要,設置開機自啟動,開機自動啟動的命令為:將nginx的啟動命令添加到/etc/rc.local,命令如下:
echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local
b.然后將linux關機重啟測試一下,如果http://ip還能夠訪問,則說明配置成功了,我這邊已測試,配置完全成功。
8.使用server命令啟動nginx服務
a. 現在覺得啟動命令太麻煩,雖然開機可以自啟動,但是每次改動要重新啟動nginx的話,要么輸入命令,要么開機,都還不是很好,那么我們能不能創造一個更好的方式呢?當然可以,我們可以通過設置system v腳本。
b.腳本代碼如下所示:
#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: nginx is an http(s) server, http(s) reverse \ # proxy and imap/pop3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/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" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 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 killall -9 nginx } restart() { configtest || return $? stop sleep 1 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
c.創建命令如下,手先跳轉到/etc/init.d下創建nginx啟動腳本文件,命令如下;
c.1 cd /etc/init.d/
c.2 vim nginx 創建一個新的nginx文件,將上面的命令代碼copy到里面,然后保存
d.修改腳本權限,命令如下:chmod 755 nginx
e.將腳本文件加入到chkconfig中 chkconfig --add nginx
f.設置nginx開機在3和5級別自動啟動 chkconfig --level 35 nginx on
g.測試nginx腳本文件是否能夠正常使用,命令如下,我均已測試,全部可以使用。
g.1 /etc/init.d/nginx restart
g.2 /etc/init.d/nginx reload
g.3 /etc/init.d/nginx stop
關于“Linux安裝Nginx的注意事項有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Linux安裝Nginx的注意事項有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。