背景
centos7操作系統(tǒng),nginx被人安裝過多次,重啟服務(wù)器,發(fā)現(xiàn)nignx未設(shè)置開機(jī)自啟,啟動(dòng)報(bào)錯(cuò)nginx: [emerg] unknown directive “ngx_fastdfs_module” in /usr/local/nginx/conf/nginx.conf:43
排查
1、嘗試啟動(dòng),查看報(bào)錯(cuò)日志
sudo systemctl start nginx
上述命令如果報(bào)nginx.service找不到:Failed to start nginx.service: Unit not found.
,則進(jìn)入nginx的安裝目錄。不知道自己的nginx服務(wù)可以使用命令:nginx -V
查看版本號(hào)信息所顯示的prefix屬性,這里我的nginx服務(wù)是/opt/nginx
。然后進(jìn)入該安裝目錄下的sbin目錄,重載或者重啟nginx服務(wù)
nginx -V
cd /opt/nginx/sbin/
./nginx -s reload
或者
./nginx -s restart
可以看到這里我報(bào)錯(cuò)了"nginx: [emerg] unknown directive “ngx_fastdfs_module” in /usr/local/nginx/conf/nginx.conf:43"
原因
這個(gè)錯(cuò)誤提示意味著在Nginx配置文件中包含了一個(gè)未知的指令"ngx_fastdfs_module",導(dǎo)致Nginx無法啟動(dòng)。根據(jù)報(bào)錯(cuò)提示找到配置文件(這里我的配置文件位置是:/usr/local/nginx/conf/nginx.conf
)中發(fā)現(xiàn)啟動(dòng)nginx服務(wù)的時(shí)候確實(shí)去加載fastdfs的ngx_fastdfs_module了
解決
1、確認(rèn)是否安裝了ngx_fastdfs_module模塊
nginx -V
如果ngx_fastdfs_module沒有在輸出的信息中列出,則需要安裝該模塊,走以下步驟。注
:上面nginx -V
排查的時(shí)候其實(shí)已經(jīng)看到這里我的輸出信息確實(shí)列出ngx_fastdfs_module
了,但是跑的是/usr/bin/nginx服務(wù)。說明跑錯(cuò)服務(wù)了,運(yùn)行/usr/bin/nginx服務(wù)就行。
2、編譯nginx時(shí)將ngx_http_fastdfs_module包含在configure命令中
ngx_http_fastdfs_module
是一個(gè)nginx擴(kuò)展模塊,用于實(shí)現(xiàn)FastDFS的分布式文件存儲(chǔ)系統(tǒng)的HTTP協(xié)議訪問??梢匀ス俜较螺d:https://github.com/happyfish100/fastdfs-nginx-module/tags,進(jìn)入Nginx源代碼目錄,運(yùn)行以下命令進(jìn)行configure配置(注:/opt/soft/fastdfs-nginx-module
是我的fastdfs-nginx-module安裝路徑):
cd /opt/soft/nginx-1.14.2
./configure --add-module=/opt/soft/fastdfs-nginx-module/src
由于nginx -V
已經(jīng)知道nginx的版本是1.14.2,所以上述/opt/soft/nginx-1.14.2
是我排查這臺(tái)服務(wù)器所查找的nginx源代碼目錄,全局搜索命令(命令拓展):
sudo find / -type d -name "nginx-1.14.2"
3、重新加載或啟動(dòng)Nginx服務(wù)
sudo systemctl restart nginx
或者
cd /path/nginx/sbin/
./nginx -s reload
或者
./nginx -s restart
/path/nginx/sbin/
替換成你的nginx的安裝路徑就可以了,使用以下命令查看是否啟動(dòng)了:文章來源:http://www.zghlxwxcb.cn/news/detail-471721.html
ps -ef|grep nginx
總結(jié)
搗鼓一圈,我算是發(fā)現(xiàn)了,nginx被前人安裝好幾遍,目錄眼花繚亂。nginx源代碼在/opt/soft/
目錄下,nginx服務(wù)安裝在/usr/bin/nginx
,prefix屬性所指向的nginx目錄/opt/nginx
是誤導(dǎo),前人不清楚重裝之后改了指向,其實(shí)不影響服務(wù)的正常啟動(dòng)文章來源地址http://www.zghlxwxcb.cn/news/detail-471721.html
到了這里,關(guān)于解決Nginx啟動(dòng)報(bào)錯(cuò)“nginx: [emerg] unknown directive “ngx_fastdfs_module“ in /xxx/nginx/conf/nginx.conf:43“的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!