server - Nginx配置webapp問(wèn)題
問(wèn)題描述
新手自學(xué),nginx在AWS部署。在服務(wù)器正常安裝nginx無(wú)問(wèn)題順利打開歡迎頁(yè)Welcome to Nginx!
然后創(chuàng)建nginx配置文件,軟連接到/etc/nginx/sites-enabled/,檢查軟鏈正確,通過(guò)nginx自帶檢查配置文件命令顯示語(yǔ)法等也顯示正確
server { listen 80; server_name xxxxx;location / {proxy_pass http://localhost:8000; }}
刪除掉/etc/nginx/sites-enabled/里面的default,重啟nginx服務(wù)啟動(dòng)python django的webapp,無(wú)報(bào)錯(cuò),運(yùn)行在127.0.0.1:8000上
然而最后結(jié)果是:“無(wú)法連接”。后看過(guò)nginx的doc里面的example,看不出問(wèn)題所在。目前認(rèn)為問(wèn)題應(yīng)該出在配置nginx方面,因?yàn)槲乙坏﹦h掉我自己的配置文件,恢復(fù)default,重啟nginx就能夠恢復(fù)到歡迎頁(yè)。而webapp多次測(cè)試路徑也經(jīng)過(guò)校正不存在問(wèn)題。請(qǐng)求解決辦法,謝謝!
新的代碼為:
server { listen 80; server_name xxxxx;location / {root ~/sites/source #網(wǎng)站根目錄index index.htmlproxy_pass http://localhost:8000; }}
或把root和index放到location上面,見下圖
運(yùn)行時(shí)端口依然被占:
后proxy_pass改為轉(zhuǎn)發(fā)5000端口,正常運(yùn)作,但網(wǎng)頁(yè)依然無(wú)法打開
問(wèn)題解答
回答1:應(yīng)該是你沒有指定document_root和index。
回答2:問(wèn)題解決
因?yàn)閱?wèn)題肯定出現(xiàn)在配置上,而apt-get的方法安裝nginx造成無(wú)法自定義編譯很難查清楚所在,nginx不支持添加模塊,只能在編譯時(shí)進(jìn)行。故apt-get也沒有日志可看。所以重新下載nginx-1.10.1編譯安裝,編譯包模塊選擇最基本的http模塊方便調(diào)試起見再加debug模塊,證實(shí),最后最簡(jiǎn)方案為編譯到--prefix=/usr/local下完成安裝,直接修改總的配置文件為(無(wú)需uwsgi和root等):
http{ server {listen 80;server_name xxxxx; location / { proxy_pass http://localhost:8000;} }}
另加上默認(rèn)的events就可以通過(guò)最基本的配置文件驗(yàn)證,其他全部注釋掉,也無(wú)需再去刪除默認(rèn)的配置文件,reload重啟,并順利運(yùn)行。
相關(guān)文章:
1. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????2. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)3. javascript - 關(guān)于mongose刪除一次多個(gè)字段的問(wèn)題4. 微信瀏覽器怎么取消緩存?5. javascript - vue-cli與后端框架集成config/index.js配置問(wèn)題6. javascript - 為什么我無(wú)法通過(guò)$stateParams在父子State之間傳遞參數(shù)?跟State之間的父子關(guān)系有關(guān)嗎?7. 關(guān)于layuiadmin中表格按鈕提交問(wèn)題求解!!!!8. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫(kù)9. css - BEM 中塊(Block)有木有什么標(biāo)準(zhǔn) 何時(shí)決定一個(gè)部分提取為塊而不是其父級(jí)的元素呢(Element)?~10. html5 - 用Egret寫的小游戲,怎么分享到微信呢?
