我配置的是django + uwsgi + nginx
說下思路,先進行模組化測試:
django:
django 下 第乙個坑是sql版本低問題,原因用pip安裝不正確,在網上查了下按這個文章重灌下就好了
重新執行提示沒有site-packages
在 [uwsgi]檔案下新增pythonpath = /usr/local/python3/lib/python3.7/site-packages 就可以了
在django目錄下輸入 python manage.py runserver 0.0.0.0:8080
在瀏覽器內輸入:檢查django是否執行正常。
uwsgi:
在/etc/目錄下新建uwsgi9090.ini,新增如下配置:
1uwsgi[uwsgi]
2#socket 為上線使用,http為直接作為伺服器使用。
3 #socket = 0.0.0.0:8080
#ip和埠號可以改
5#專案目錄
6 chdir=/usr/local/python3/bin/outoundmanageemnt
7 module=outoundmanageemnt.wsgi
8#虛擬環境目錄
9 #home = home/ray/mxonline/mxonlineenv
10 master = true
11 processes=4
12 threads=2
13# 下面的引數不一定要加
14 # pidfile=uwsgi.pid uwsgi.pid 和uwsgi.log會在啟動uwsgi時自動生成在專案目錄下。
15 # daemonize=uswgi.log
16 # max-requests=2000
17 # chmod-socket=664
18 # vacuum=true
19 pythonpath = /usr/local/python3/lib/python3.7/site-packages
linux下輸入uwsgi --ini /etc/uwsgi9090.ini
在瀏覽器內輸入:檢查uwsgi是否執行正常。
nginx:
這個坑太多,網上的配置版本也多,我試了好多個,下面配置是在我的環境下可以執行的
### 每個指令必須有分號結束,用#號注釋, 注釋部分為可選項,未注釋的為必須的 ###view code# main全域性塊:配置影響nginx全域性的指令。一般有執行nginx伺服器的使用者組,nginx程序pid存放路徑,日誌存放路徑,配置檔案引入,允許生成worker process數等。
#user nginx nginx; #配置使用者或者組,預設為nobody nobody。
worker_processes
1; #允許生成的程序數,預設為1, 最大為cpu核數或者cup核數的兩倍
#制定日誌路徑,級別。這個設定可以放入全域性塊,http塊,server塊,級別以此為:debug|info|notice|warn|error|crit|alert|emerg
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid; #指定nginx程序執行檔案存放位址
#最大檔案開啟數(連線),可設定為系統優化後的ulimit -hsn的結果
#worker_rlimit_nofile
51200
;#cpu親和力配置,讓不同的程序使用不同的cpu
#worker_cpu_affinity
0001
0010
0100
1000
0001
00100100
1000;
#2、events塊:配置影響nginx伺服器或與使用者的網路連線。有每個程序的最大連線數,選取哪種事件驅動模型處理連線請求,是否允許同時接受多個網路連線,開啟多個網路連線序列化等。
events #
3、http塊:可以巢狀多個server(每個server為乙個站點),配置**,快取,日誌定義等絕大多數功能和第三方模組的配置。如檔案引入,mime-type定義,日誌自定義,是否使用sendfile傳輸檔案,連線超時時間,單連線請求數等。
#設定由 fail_timeout 定義的時間段內連線該主機的失敗次數,以此來斷定 fail_timeout 定義的時間段內該主機是否可用。預設情況下這個數值設定為
1。零值的話禁用這個數量的嘗試。設定在指定時間內連線到主機的失敗次數,超過該次數該主機被認為不可用。這裡是在30s內嘗試2次失敗即認為主機不可用!
#基於網域名稱的虛擬主機
server 裡配置
#index index.php index.html index.htm; #設定預設頁 此專案也可以放置的到 location /裡配置
#charset koi8-r;
#access_log logs/host.access.log main;
location /
location /static
#error_page
404 /404
.html;
# redirect server error pages to the
static page /50x.html
#error_page
500502
503504 /50x.html;
location = /50x.html
# proxy the php scripts to apache listening on
127.0.0.1:80
# #location ~\.php$
# pass the php scripts to fastcgi server listening on
127.0.0.1:9000
# 支援php配置模組 #符合php副檔名的請求排程到fcgi server
location ~\.php$
}#每個站點都需要配置乙個server模組,為了方便管理,這裡把每個站點的配置檔案統一放入到./vhost/目錄下,並統一使用 .conf為字尾。
include /usr/local/nginx/conf/vhost/*
.conf;
}
nginx配置埠,啟動埠,做負載,分配靜態檔案在轉給uwsgi啟動的埠,nginx配置完成後,
在專案目錄下遷移靜態檔案python manage.py collectstatic
參考了這兩位前輩很多
最後nginx配置最好把**位址注釋掉,做排查,啟動nginx, /usr/local/webserver/nginx/sbin/nginx
在瀏覽器內輸入:檢查nginx是否執行正常。
再把uwsgi位址注釋去掉,在執行nginx上的伺服器位址。
nginx遇到的配置的坑
坑1 302重定向跳轉問題 第一步以為要在nginx裡面配置,所以裝了more header 設定了proxy set header cookie http cookie more set headers location 302重定向沒問題了,但是出現了第二個請求404頁面,session也寫入了...
nginx配置踩坑記錄
既然為靜態資源檔案 1.測試了該目錄下其他型別檔案可正常訪問,說明路徑沒有錯,2.檢視network及request header,均為發現異常 3.考慮只是對json檔案格式異常,是否為nginx配置問題 於是,檢視nginx配置,確實沒有關於json格式的支援,於是新增上 json 重啟ngin...
Nginx及配置詳解
nginx是lgor sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。從2004年發布至今,憑藉開源的力量,已經接近成熟與完善。nginx功能豐富,可作為http伺服器,也可作為反向 伺服器,郵件伺服器。支援fastcgi ssl virtual host url rewrite...