主頁 > 知識(shí)庫 > 解析阿里云centos7服務(wù)器nginx配置及常見問題解答

解析阿里云centos7服務(wù)器nginx配置及常見問題解答

熱門標(biāo)簽:重慶營(yíng)銷外呼系統(tǒng)排名 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 網(wǎng)站上插入地圖標(biāo)注內(nèi)容 企業(yè)400電話辦理哪正規(guī) 繽客網(wǎng)注冊(cè)時(shí)地圖標(biāo)注出不來 地圖標(biāo)注需要現(xiàn)場(chǎng)嗎 工廠位置地圖標(biāo)注 鶴壁電銷外呼系統(tǒng)怎么安裝 400電話辦理哪家好廠商

前言:

本文參考了jackyzm的博客:https://www.cnblogs.com/jackyzm/p/9600738.html,進(jìn)行了內(nèi)容的更新,并請(qǐng)注意這里適用的版本是centos7的版本。并且本文的配置方式曾經(jīng)在版本8上失敗過,因此查看本文前最好先確定服務(wù)器的版本。

而關(guān)于nginx部分問題的處理,則是參考了文章:http://www.mamicode.com/info-detail-3008792.html進(jìn)行,其中包括的部分錯(cuò)誤如下:

1.make[1]: *** [objs/Makefile:473: objs/src/core/ngx_murmurhash.o] Error 1

2.make[1]: *** [objs/Makefile:774: objs/src/os/unix/ngx_user.o] Error 1

3.make[1]: *** [objs/Makefile:769: objs/src/event/ngx_event_openssl.o] Error 1

本文針對(duì)這些問題和一些其他問題的解決方案都進(jìn)行了闡述和流程上的改良

內(nèi)容流程:

0.前置說明,1.安裝gcc環(huán)境,2.安裝pcre庫,3.安裝ssl庫,4.安裝zlib庫,5.安裝nginx,附:nginx在make過程中可能出現(xiàn)的問題,6.nginx啟動(dòng)與使用,7.nginx啟動(dòng)后無法訪問的問題解決

具體內(nèi)容:

0.前置說明

在centos系統(tǒng)中,yum源不直接提供nginx的安裝,因此可以通過切換yum源的方法進(jìn)行nginx的安裝,也可以通過直接下載依賴庫和nginx安裝包的方法來實(shí)現(xiàn),本文介紹的是后者。

一些必要的庫和nginx的關(guān)系:nginx 中g(shù)zip模塊需要 zlib 庫,rewrite模塊需要 pcre 庫,ssl 功能需要openssl庫

然后本文將選定/usr/local為安裝目錄,一些庫的具體版本號(hào)各位可根據(jù)實(shí)際改變,但由于互相依賴,所以最新的可能存在一些問題,謹(jǐn)慎選擇。

且以下命令均需在root權(quán)限下執(zhí)行

1.安裝gcc gcc-c++(如新環(huán)境,未安裝請(qǐng)先安裝)

$ yum install -y gcc gcc-c++

2.安裝pcre庫

$ cd /usr/local/

$ wget https://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz

(注:pcre版本會(huì)實(shí)時(shí)更新,8.36版本同樣是舊版本,如果需要最新版本自行搜索pcre即可,然后選擇新版本,不過新版本可能會(huì)不太穩(wěn)定,需要注意。

當(dāng)前網(wǎng)址獲取新版本的方法為訪問:https://sourceforge.net/projects/pcre/files/pcre/)

$ tar -zxvf pcre-8.36.tar.gz

$ cd pcre-8.36

$ ./configure

$ make && make install

如報(bào)錯(cuò):configure: error: You need a C++ compiler for C++ support

解決方案:yum install -y gcc gcc-c++

3.安裝ssl庫

$ cd /usr/local/

$ wget https://www.openssl.org/source/openssl-1.0.1j.tar.gz

(注:openssl同樣有版本更新,這里為2020.04的版本,當(dāng)前網(wǎng)址獲取新版本的方法為訪問:https://www.openssl.org/source/

這里沒有采用1.1.x等版本是因?yàn)樵诤竺姘惭bnginx出現(xiàn)了無法解決的錯(cuò)誤,所以選擇了這一較久的版本,如果可以解決,可以進(jìn)行嘗試,如果能告知解決方案或者成功案例就更感謝了)

$ tar -zxvf openssl-1.0.1j.tar.gz

$ cd openssl-1.0.1j

$ ./config

$ make && make install

4.安裝zlib庫

$ cd /usr/local/

$ wget http://zlib.net/zlib-1.2.11.tar.gz

(注:同前,版本更新網(wǎng)址為:http://zlib.net/)

$ tar -zxvf zlib-1.2.11.tar.gz

$ cd zlib-1.2.11

$ ./configure

$ make && make install

5.安裝nginx

$ cd /usr/local/

$ wget http://nginx.org/download/nginx-1.8.0.tar.gz

(注:同前,獲取新版本的網(wǎng)址為:http://nginx.org/download/)

$ tar -zxvf nginx-1.8.0.tar.gz

$ cd nginx-1.8.0

$ ./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module--with-pcre=/usr/local/pcre-8.36 --with-zlib=/usr/local/zlib-1.2.11--with-openssl=/usr/local/openssl-1.0.1j

(注: --with-http_ssl_module:這個(gè)不加后面在nginx.conf配置ssl:on后,啟動(dòng)會(huì)報(bào)nginx: [emerg] unknown directive "ssl" in /opt/nginx/conf/nginx.conf 異常;兒針對(duì)pcre、zlib和openssl等等的指定,則是為了保證nginx能夠和之前下載的版本匹配一致,注意路徑和版本號(hào)需要修改為和之前下載對(duì)應(yīng)的樣子)

$ make && make install

附:nginx在make過程中可能出現(xiàn)的問題:

報(bào)錯(cuò)1:make[1]: *** [objs/Makefile:460: objs/src/core/ngx_murmurhash.o] Error 1

將警告視為報(bào)錯(cuò)進(jìn)行了程序終止

解決方案:進(jìn)入到nginx安裝目錄的objs文件夾中,修改Makefile文件:

按下a進(jìn)入編輯模式,將CFLAGS中的-Werror去除,然后按下esc,輸入:wq保存退出

然后再次進(jìn)行嘗試make && make install指令

報(bào)錯(cuò)2:make[1]: *** [objs/Makefile:747: objs/src/os/unix/ngx_user.o] Error 1

提示我們struct crypt_data'沒有名為‘current_salt'的成員:cd.current_salt[0] = ~salt[0];原文作者說最好的辦法是換一個(gè)版本,這里開始選擇的1.9出現(xiàn)了報(bào)錯(cuò),但是切換成了nginx1.8后還是沒有效果,因此便在nginx1.8的基礎(chǔ)上使用了替代方案:代碼注釋

即在nginx安裝目錄下通過執(zhí)行vim src/os/unix/ngx_user.c,對(duì)ngx_user.c第36行的代碼進(jìn)行注釋,前后如下:

然后保存退出,再次嘗試make && make install

報(bào)錯(cuò)3:make[1]: *** [objs/Makefile:769: objs/src/event/ngx_event_openssl.o] Error 1

說明ssl版本沒有告知nginx,應(yīng)該是前面./configure的時(shí)候沒有指定ssl版本導(dǎo)致的,需要重新configure,即需要在configure時(shí)增加ssl的指定。

--with-openssl=/usr/local/openssl-1.0.1j

報(bào)錯(cuò)4:./configure: error: SSL modules require the OpenSSL library.

可以嘗試執(zhí)行指令:

yum -y install openssl openssl-devel

報(bào)錯(cuò)5:./configure: error: the HTTP gzip module requires the zlib library

configure時(shí)沒有制定好另外兩個(gè)庫的路徑,在–prefix后面接以下命令(具體使用方式見./configure指令的執(zhí)行):

--with-pcre=/usr/local/pcre-8.36指的是pcre-8.36的源碼路徑。--with-zlib=/usr/local/zlib-1.2.11 指的是zlib-1.2.11 的源碼路徑。

如果以上報(bào)錯(cuò)還是無法解決問題,最好查看centos版本是否是7,我就是在更換系統(tǒng)版本后直接成功的。如果遇到其他報(bào)錯(cuò),最好進(jìn)行檢索,無法解決十分抱歉。

6.nginx啟動(dòng)與使用

$ /usr/local/nginx/sbin/nginx

啟動(dòng)成功的標(biāo)志:打開瀏覽器訪問服務(wù)器的ip地址,如果瀏覽器出現(xiàn)Welcome to nginx! 則表示 nginx 已經(jīng)安裝并運(yùn)行成功。

其他的一些命令如下:

重啟:

$ /usr/local/nginx/sbin/nginx -s reload

停止:

$ /usr/local/nginx/sbin/nginx -s stop

測(cè)試配置文件是否正常:

$ /usr/local/nginx/sbin/nginx -t

強(qiáng)制關(guān)閉:

$ pkill nginx

注:這里沒有設(shè)置軟鏈接,因此只能通過這么長(zhǎng)的指令進(jìn)行管理,如有需要可自行檢索處理,后面如果我有時(shí)間也會(huì)更新到本文中。

7.nginx啟動(dòng)后無法訪問的問題解決

這里如果還看不到nginx的頁面,可能是服務(wù)器的安全組沒有配置導(dǎo)致的,例如阿里云就需要在這里添加http,端口80的配置,如下:

安全組配置之后只需刷新頁面即可看到nginx的成功頁面。

最后祝各位配置順利。

到此這篇關(guān)于解析阿里云centos7服務(wù)器nginx配置及常見問題解答的文章就介紹到這了,更多相關(guān)阿里云centos7下nginx配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:渭南 96 棗莊 常州 日照 克拉瑪依 東莞 鹽城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解析阿里云centos7服務(wù)器nginx配置及常見問題解答》,本文關(guān)鍵詞  解析,阿里,云,centos7,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解析阿里云centos7服務(wù)器nginx配置及常見問題解答》相關(guān)的同類信息!
  • 本頁收集關(guān)于解析阿里云centos7服務(wù)器nginx配置及常見問題解答的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章