日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

nginx fastcgi python_linux下nginx+python+fastcgi部署总结(django版)

發布時間:2025/3/15 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx fastcgi python_linux下nginx+python+fastcgi部署总结(django版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近因為項目上的需要開始大量使用nginx,因此也想趁機將以前常用的django+apache的架構換成django+nginx+fastcgi,此文是整個搭建的步驟,主要留作備忘,也希望對大家有所幫助。

注意:雖然本文成功的搭建了django運行fastcgi的實例,但是在實際運行中發現了很多問題,比如程序執行異常,進程在每次請求之后退出之類的。可能是我機器的問題,也可能是程序本身bug,大家如果用來搭建外網環境,請務必多多測試。

一.編譯nginx

在網上買了一本《實戰nginx-取代Apache的高性能服務器》,寫的比較淺,主要是些配置方面的東西,不過卻正是目前我所需要的。由于需要支持https和rewrite,所以除了nginx的源碼之外,又下載了 openssl-0.9.8r.tar.gz 和 pcre-8.12.tar.gz,把他們和nginx-1.0.4.tar.gz放到同一個目錄。

為了方便編譯,筆者寫了一個腳本,代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

#!/bin/bash ?#============================================================================= #腳本所在絕對目錄 abs_path(){ local path=$1 local basename=$( basename $path ) local dirname=$( dirname $path ) cd $dirname if [ -h $basename ]; then path=$( readlink $basename ) abs_path $path else pwd fi } ?#============================================================================= #依賴的目錄 src_base_dir=$( abs_path $ ) src_openssl_dir=$src_base_dir'/openssl-0.9.8r' src_pcre_dir=$src_base_dir'/pcre-8.12' src_nginx_dir=$src_base_dir'/nginx-1.0.4' ?#============================================================================= #目標的目錄 dest_base_dir=$src_base_dir'/release' dest_nginx_dir=$dest_base_dir'/nginx' ?#============================================================================= #把所有的tar.gz解壓 find . -name "*.tar.gz" | xargs -IX tar zxvf X

#============================================================================= #編譯nginx cd $src_nginx_dir chmod u+x ./configure

./configure --with-http_stub_status_module --with-http_ssl_module --with-openssl=$src_openssl_dir --with-pcre=$src_pcre_dir --prefix=$dest_nginx_dir make && make install

編譯完成后,我們就需要來配置nginx了

二.配置nginx

在server配置項下增加

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

location / { #fastcgi_pass 127.0.0.1:9001; fastcgi_pass unix:django.sock;

fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param QUERY_STRING $query_string; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_pass_header Authorization; fastcgi_intercept_errors off; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; }

location /admin_media/ { alias /usr/local/lib/python2.7/site-packages/django/contrib/admin/media/; break; }

location /site_media/ { alias /home/dantezhu/htdocs/ngx_django/media/; break; }

這里的3個location配置分別解決了,與python進程通信、django后臺管理端樣式存放、網站樣式存放的問題。對照著apache的配置來看,就很容易明白了

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

WSGIPythonEggs /tmp ServerName fuload.qq.com

WSGIScriptAlias / /home/dantezhu/htdocs/fuload/conf/setting.wsgi

Options FollowSymLinks

AllowOverride

Order allow,deny

Allow from all

Order Deny,Allow

Deny from all

Alias /admin_media "/usr/local/lib/python2.7/site-packages/django/contrib/admin/media"

Order allow,deny

Options Indexes

Allow from all

IndexOptions FancyIndexing

#AliasMatch /site_media/(.*\.(css|gif|png|jpg|jpeg)) /home/dantezhu/htdocs/fuload/media/$1

Alias /site_media /home/dantezhu/htdocs/fuload/media/

Order allow,deny

Options Indexes

Allow from all

IndexOptions FancyIndexing

三.安裝fastcgi依賴

需要到?http://trac.saddi.com/flup下載安裝,之后fastcgi才能夠正常啟動。

四.啟動django

創建django project的過程我們就不說了,只列出啟動/停止的命令:

啟動:

1

2

#python manage.py runfcgi daemonize=true pidfile=`pwd`/django.pid host=127.0.0.1 port=9001 maxrequests=1 & python manage.py runfcgi daemonize=true pidfile=`pwd`/django.pid socket=/home/dantezhu/nginx/sbin/django.sock maxrequests=1 &

停止:

1

kill -9 `cat django.pid`

五.啟動nginx

啟動:

1

./nginx -p /home/dantezhu/nginx/

停止:

1

kill -QUIT `cat ../logs/nginx.pid`

重新載入配置:

1

2

./nginx -t -c `pwd`/../conf/nginx.confkill -HUP `cat ../logs/nginx.pid`

成功顯示了django的后臺界面:

OK,到此為止,大功告成!

總結

以上是生活随笔為你收集整理的nginx fastcgi python_linux下nginx+python+fastcgi部署总结(django版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 先锋影音av资源站 | 怡红院成永久免费人全部视频 | 在线观看av不卡 | 美女隐私免费 | 国产精品99精品久久免费 | 夜夜嗨网站 | 日韩在线一卡 | 国产精品日韩精品 | 天天拍天天色 | 中文字幕人成人乱码亚洲电影 | 免费中文字幕日韩 | 国产精品无码电影 | 国产精品羞羞答答在线 | 美女xx00 | 哺乳期av | 国产精品成人网站 | 天天槽| 免费成人看片 | 午夜影院久久 | 日韩一区二区在线播放 | 欧美日韩一卡二卡三卡 | 国产一级一片免费播放放a 丁香六月色 | 黄色在线小视频 | 欧美性生活一区二区 | 欧美日韩高清一区二区三区 | 日韩欧美啪啪 | 好吊操这里只有精品 | 青青草免费在线视频 | 国产三区在线观看 | 欧美成人aa | 天天摸天天操天天射 | 首尔之春在线观看 | 国产a级片| 自拍偷在线精品自拍偷无码专区 | 喷潮在线 | 99色国产 | 日韩精品亚洲精品 | 亚洲av无码一区二区三区人妖 | 成人一级生活片 | 亚洲一区二区自偷自拍 | 国产精品久久久久久久av福利 | 毛片大片 | 久久久社区 | 天天躁日日躁狠狠很躁 | 调教驯服丰满美艳麻麻在线视频 | 国产精品v欧美精品v日韩精品 | 韩国伦理大片 | 打屁股无遮挡网站 | 国产欧美中文字幕 | 成人精品一区二区 | 久久免费视频一区二区 | 中国亚洲女人69内射少妇 | 精品视频在线一区二区 | 神马电影久久 | 在线步兵区 | 伊人精品影院 | 亚洲男同视频 | 亚洲永久精品国产 | 国产一区二区三区免费观看视频 | 九九视频网| 青青色在线观看 | 亚洲av永久无码国产精品久久 | 免费成人在线看 | 中国女人内谢69xxxx | 日韩经典在线观看 | 亚洲黄色免费视频 | 中文字幕欧美亚洲 | 在线五月天 | 亚洲 欧美 日韩 在线 | 伊人网av在线 | 欧美精品久久久久久久 | 亚洲20p| 少妇25p | 亚洲精品无码久久 | 拔插拔插影库 | 国产免费无码XXXXX视频 | 欧美久久综合 | 亚洲AV午夜福利精品一级无码 | 精品综合在线 | 北京少妇xxxx做受 | 中出视频在线观看 | 日韩一区二区影视 | 97成人资源 | 少妇人妻综合久久中文字幕 | 国产精品12页 | 另类小说婷婷 | 伦一理一级一a一片 | a级片在线视频 | 激情 小说 亚洲 图片 伦 | 欧美高清在线 | 欧美丰满一区二区免费视频 | 黄色香港三级三级三级 | 国产一区二区在线精品 | 亚洲专区在线 | 青娱乐福利视频 | 成人精品一区日本无码网 | 亚洲第一综合网站 | 久久久久久美女 | 日本午夜一区 |