您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Nginx常見(jiàn)問(wèn)題有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
telnet *.*.*.* 80 POST /map/navigation/2011winter/jsn/jsn_20120723_pack/pvf.jsn HTTP/1.1 Host:*.*.*.* (2個(gè)回車(chē)) HTTP/1.1 405 Not Allowed Server: MapbarServer Date: Mon, 08 Oct 2012 05:34:53 GMT Content-Type: text/html Content-Length: 173 Connection: keep-alive <html> <head><title>405 Not Allowed</title></head> <body bgcolor="white"> <center><h2>405 Not Allowed</h2></center> <hr><center>MapbarServer</center> </body> </html> 經(jīng)查發(fā)現(xiàn):NGINX不允許向靜態(tài)文件提交POST方式的請(qǐng)求,否則報(bào)405錯(cuò)誤 解決辦法: 1.在nginx vhosts配置文件中增加如下 error_page 405 =200 @405; location @405 { root /mapdata/www/datamobile/; proxy_method GET; proxy_pass http://map_tomcat; }
這個(gè)情況主要是用vue采用前后端分離之后前端有在public下有一個(gè)單獨(dú)的index.html
他們所有的頁(yè)面都存放在這個(gè)index.html中.也就是說(shuō)所有的頁(yè)面請(qǐng)求都要打到這個(gè)文件中
所以如果我們通過(guò)傳統(tǒng)的URL來(lái)請(qǐng)求頁(yè)面比如登錄,/user/login時(shí)會(huì)報(bào)錯(cuò)頁(yè)面不存在
而我們的項(xiàng)目在部署的時(shí)候,將所有WEB和APP的接口都單獨(dú)新建Module中
所以我們的接口請(qǐng)求,必然要有web或app字樣,所以我們通過(guò)修改NGINX中的配置文件.
優(yōu)先匹配帶有app或web的URL,將其重置到public/index.php給yaf處理
而其他的都交給public/index.html來(lái)處理
server { listen 80; server_name otc.coinegg.im; access_log /home/work/logs/nginx/otc.coinegg.im.access.log main; error_log /home/work/logs/nginx/otc.coinegg.im.error.log; root /home/work/www/otc/public; # 禁止請(qǐng)求git相關(guān)的隱藏文件,這個(gè)也要放到前面來(lái),只要在location / 前面 location ~ /.git/ { deny all; } # 這個(gè)要放到前面了來(lái), 做正則匹配,匹配到URL中含有WEB或APP時(shí)按照YAF重定向到index.php中 location [/web/|/app/] { root /home/work/www/otc/public; # 除非路徑不同否則這里不用重新定義root index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1 last; } } # 這要放到后面來(lái), 即所有的請(qǐng)求全部重定向到index.html中 location / { root /home/work/www/otc/public; # 除非路徑不同否則這里不用重新定義root index index.html; try_files $uri $uri/ /index.html; } # 這里是FPM用的,保持不變即可 location ~ \.php$ { index index.php; fastcgi_pass unix:/tmp/unix/php-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
# make -j2如果報(bào)錯(cuò):objs/Makefile:591: recipe for target 'objs/src/core/ngx_murmurhash.o' failed # 我在ubuntu18.04下有這個(gè)錯(cuò)誤 # 在objs/Makefile中將 -Werror 刪除,對(duì)于warnings忽略 # vim objs/Makefile 找到第三行的CFLAGS = -I/usr/local/luajit/include/luajit-2.0 -pipe -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g -DNDK_SET_VAR # 刪掉-Werrori 即可
“Nginx常見(jiàn)問(wèn)題有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(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)容。