溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux怎么安裝Nginx及注意事項(xiàng)是什么

發(fā)布時(shí)間:2022-05-06 10:45:42 來源:億速云 閱讀:144 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Linux怎么安裝Nginx及注意事項(xiàng)是什么”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Linux怎么安裝Nginx及注意事項(xiàng)是什么”文章能幫助大家解決問題。

1.nginx的簡(jiǎn)單說明

a.  nginx是一個(gè)高性能的http和反向代理服務(wù)器,也是一個(gè)imap/pop3/smtp服務(wù)器,期初開發(fā)的目的就是為了代理電子郵件服務(wù)器室友:igor sysoev開發(fā),源代碼符合bsd開源。其特點(diǎn)就是占用內(nèi)存少并發(fā)能力強(qiáng),在天朝使用nginx的大型網(wǎng)站已經(jīng)有很多:百度、淘寶、騰訊等等...。

b.nginx作為http服務(wù)器,有以下幾項(xiàng)基本特征:

  b.1 處理靜態(tài)文件,索引文件以及自動(dòng)索引,打開文件描述符緩沖。

  b.2 無緩存的反向代理加速,簡(jiǎn)單的負(fù)載均衡和容錯(cuò)

  b.3 模塊化的結(jié)構(gòu),包括gzipping,byte ranges,chunked responses以及ssi-filter等filter,如果由fastcgi或其它代理服務(wù)器處理蛋液中存在的多個(gè)ssi,則這項(xiàng)處理可以并行運(yùn)行,而不需要相互等待。

  b.4 支持ssl和tlssni。

2.準(zhǔn)備工作

a.上面簡(jiǎn)單介紹了一下nginx,大家如果想要了解更多關(guān)于nginx的知識(shí),請(qǐng)自行通過網(wǎng)絡(luò)學(xué)習(xí)。

b.工欲善其事必先利其器,下面我們就在linux下面簡(jiǎn)單安裝一下niginx,在安裝過程中需要了一些問題,同步都會(huì)在博客中說出來。

c.nginx的安裝依賴于以下三個(gè)包,意思就是在安裝nginx之前首先必須安裝一下的三個(gè)包,安裝順序?yàn)槲覍懙捻樞颍?/p>

  c.1 ssl功能需要openssl庫,下載地址:

  c.2 gzip模塊需要zlib庫,下載地址:

  c.3 rewrite模塊需要pcre庫,下載地址:

d.nginx的安裝包:下載地址為:

e.將上面下載的幾個(gè)軟件全部使用xftp上傳到linux系統(tǒng)中,上傳路徑和軟件如圖所示:

Linux怎么安裝Nginx及注意事項(xiàng)是什么    

f.操作需要的軟件以及系統(tǒng)如下:虛擬機(jī)(vmware),虛擬機(jī)中安裝的centos系統(tǒng),xshell,xftp,以及上面的幾個(gè)包。

g.下面開始按照上面說的按照順序開始安裝軟件。

3.安裝ssl功能需要openssl庫以及gzip模塊需要的zlib庫

a(1).首先我們安裝ssl功能需要的openssl庫插件,注意:安裝過程是按照我在linux下設(shè)置的文件路徑來安裝的,命令如下:

  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安裝的方法一模一樣,也是分為上面五個(gè)步驟,只不過是文件的名稱不一樣,命令簡(jiǎn)單如下:

  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.如果沒有報(bào)錯(cuò),則說明安裝完全完成了~。

4.安裝 rewrite模塊需要pcre庫

a.安裝 rewrite模塊需要pcre庫的安裝方法和openssl安裝的方法一模一樣,也是分為上面五個(gè)步驟,只不過是文件的名稱不一樣,命令簡(jiǎn)單如下:

  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.在執(zhí)行./configure的出現(xiàn)錯(cuò)誤了,導(dǎo)致不能繼續(xù)往下執(zhí)行,報(bào)錯(cuò)內(nèi)容為:

error: you need a c++ compiler for c++ support,看到這句話我們就已經(jīng)猜到了應(yīng)該是c++包信息,而linux中沒有,那么首先安裝一下這個(gè)包信息即可,安裝命令為:

yum install -y gcc gcc-c++

c.當(dāng)安裝完上面的c++包之后,在此運(yùn)行,發(fā)現(xiàn)消息已經(jīng)顯示安裝成功了,當(dāng)基于上面的東西全部安裝完成之后,就需要安裝nginx服務(wù)了。

5.安裝 nginx服務(wù)

a.安裝 rewrite模塊需要pcre庫的安裝方法和openssl安裝的方法一模一樣,也是分為上面五個(gè)步驟,只不過是文件的名稱不一樣,命令簡(jiǎn)單如下:

  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.在執(zhí)行./configure的出現(xiàn)錯(cuò)誤了,導(dǎo)致不能繼續(xù)往下執(zhí)行,報(bào)錯(cuò)內(nèi)容為:

error: you need a c++ compiler for c++ support,看到這句話我們就已經(jīng)猜到了應(yīng)該是c++包信息,而linux中沒有,那么首先安裝一下這個(gè)包信息即可,安裝命令為:

 yum install -y gcc gcc-c++

c.當(dāng)安裝完上面的c++包之后,在此運(yùn)行,發(fā)現(xiàn)消息已經(jīng)顯示安裝成功了。博文到這里如果安裝的時(shí)候沒有遇到錯(cuò)誤的話說明已經(jīng)安裝成功了,下面我們就是測(cè)試nginx是否安裝成功。

6.監(jiān)測(cè)nginx是否安裝成功

a.當(dāng)上面的所有步驟完成之后,則說明nginx安裝已經(jīng)完成,那么我們?nèi)绾蝸泶_定是否安裝成功了呢?通過以下命令來確定即可。

  a.1  cd /usr/local/nginx/sbin/

  a.2 ./nginx -t

b. 當(dāng)我執(zhí)行第二個(gè)命令(./nginx -t)的時(shí)候出錯(cuò)了,報(bào)沒有權(quán)限的錯(cuò)誤。如圖所示:

Linux怎么安裝Nginx及注意事項(xiàng)是什么

備注:根據(jù)錯(cuò)誤提示,我們就能夠看出來,是說/usr/local/nginx下沒有權(quán)限,解決辦法也很簡(jiǎn)單,我們給文件賦值權(quán)限。

c.如下圖所示,配置權(quán)限(配置權(quán)限需要切換到root用戶下)之后,執(zhí)行上面兩個(gè)步驟,如果linux中如下圖所示:則說明安裝已成功。

Linux怎么安裝Nginx及注意事項(xiàng)是什么    

d.當(dāng)確認(rèn)安裝完成之后,首先就需要啟動(dòng)和查看nginx默認(rèn)安裝的端口是多少,兩個(gè)命令分別如下:

(1)  ./nginx

(2)  netstat -ntlp  ,  nginx默認(rèn)端口為80

e.開放80端口,讓其外部環(huán)境可以訪問(如果不開放80端口,外部環(huán)境訪問不了),命令以及截圖如下:

vim /etc/sysconfig/iptables

備注:這里我使用vim更改防火強(qiáng)信息之后,在重新啟動(dòng)防火墻的時(shí)候出現(xiàn)了錯(cuò)誤,錯(cuò)誤信息為:try `iptables-restore -h' or 'iptables-restore --help' for more information,這個(gè)錯(cuò)誤信息提示我們不能重新啟動(dòng)防火墻,那怎么辦呢?測(cè)試了一下已寫命令的方式去更改,發(fā)現(xiàn)更改成功了,如圖所示:

Linux怎么安裝Nginx及注意事項(xiàng)是什么      

f.當(dāng)上面的工作完成之后,我們?cè)谕獠繛g覽器中瀏覽:http://ip,出現(xiàn)如圖所示,則說明安裝已完全完成。

Linux怎么安裝Nginx及注意事項(xiàng)是什么

7.將nginx設(shè)置為開機(jī)自動(dòng)啟動(dòng)

 a.當(dāng)上面6步完成之后,說明安裝已經(jīng)完全成功了,但是每次開機(jī)我們面臨的一個(gè)問題,就是每次都要執(zhí)行命令(1: cd /usr/local/nginx/sbin/   2:./nginx -t),那么這時(shí)候有這個(gè)需要,設(shè)置開機(jī)自啟動(dòng),開機(jī)自動(dòng)啟動(dòng)的命令為:將nginx的啟動(dòng)命令添加到/etc/rc.local,命令如下:

echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local

b.然后將linux關(guān)機(jī)重啟測(cè)試一下,如果http://ip還能夠訪問,則說明配置成功了,我這邊已測(cè)試,配置完全成功。

8.使用server命令啟動(dòng)nginx服務(wù)

a.  現(xiàn)在覺得啟動(dòng)命令太麻煩,雖然開機(jī)可以自啟動(dòng),但是每次改動(dòng)要重新啟動(dòng)nginx的話,要么輸入命令,要么開機(jī),都還不是很好,那么我們能不能創(chuàng)造一個(gè)更好的方式呢?當(dāng)然可以,我們可以通過設(shè)置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.創(chuàng)建命令如下,手先跳轉(zhuǎn)到/etc/init.d下創(chuàng)建nginx啟動(dòng)腳本文件,命令如下;

  c.1 cd /etc/init.d/

  c.2 vim nginx  創(chuàng)建一個(gè)新的nginx文件,將上面的命令代碼copy到里面,然后保存

d.修改腳本權(quán)限,命令如下:chmod 755 nginx

e.將腳本文件加入到chkconfig中  chkconfig --add nginx

f.設(shè)置nginx開機(jī)在3和5級(jí)別自動(dòng)啟動(dòng)  chkconfig --level 35 nginx on

g.測(cè)試nginx腳本文件是否能夠正常使用,命令如下,我均已測(cè)試,全部可以使用。

  g.1  /etc/init.d/nginx restart

  g.2  /etc/init.d/nginx reload

  g.3   /etc/init.d/nginx stop     

關(guān)于“Linux怎么安裝Nginx及注意事項(xiàng)是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI