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

歡迎訪問 生活随笔!

生活随笔

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

Nginx

项目部署uwsgi +Nginx

發布時間:2023/12/14 Nginx 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目部署uwsgi +Nginx 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nginx代理

在項目中配置Nginx

在項目目錄下添加一個config文件夾,后面的配置文件都統一放到該文件夾下(配置文件存放路徑不統一會導致輸入提示符時運行不成功)

config文件下新建mysite_nginx.conf文件,內容如下(將路徑替換成你自己的項目路徑或者對應文件):

# mysite_nginx.conf

# the upstream component nginx needs to connect to
upstream django {
? ? # unix:///home/breavo/PyWorkSpace/mysite_code_shuffle/config/eshop.sock
? ? # server unix:///path/to/your/mysite/mysite.sock; # for a file socket
? ? server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}

# configuration of the server
server {
? ? # the port your site will be served on
? ? listen ? ? ?8000;
? ? # the domain name it will serve for
? ? server_name xx.xx.xxx.xxx; # substitute your machine's IP address or FQDN
? ? charset ? ? utf-8;

? ? # max upload size
? ? client_max_body_size 75M; ? # adjust to taste

? ? # Django media
? ? location /media ?{
? ? ? ? # /home/breavo/PyWorkSpace/mysite_code_shuffle/meida;
? ? ? ? alias /path/to/your/mysite/media; # your Django project's media files - amend as required
? ? }

? ? location /static {
? ? ? ? # /home/breavo/PyWorkSpace/mysite_code_shuffle/static
? ? ? ? alias /path/to/your/mysite/static; # your Django project's static files - amend as required
? ? }

? ? # Finally, send all non-media requests to the Django server.
? ? location / {
? ? ? ? uwsgi_pass ?django;
? ? ? ? include ? ? /home/breavo/PyWorkSpace/mysite_code_shuffle/config/uwsgi_params; # the uwsgi_params file you installed
? ? }
}
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
在/etc/nginx/sites-enabled中創建一個鏈接,這樣Nginx能夠發現并啟用我們的配置,運行

sudo ln -s ~/path/to/your/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/
1
部署靜態文件

在運行Nginx之前,需要將django項目中的所有靜態文件放入static文件夾,在mysite/settings.py中添加

STATIC_ROOT = os.path.join(BASE_DIR, "static/")
1
然后運行

python manage.py collectstatic
1
啟動(重啟)Nginx

sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx restart
1
2
簡單測試

往服務器項目的media文件夾里丟一個圖片(這里以test.png為例)

訪問

xx.xx.xxx.xxx:8000/media/test.png
1


圖片正確顯示~

至此,靜態文件部署算是完成了

Uwsgi安裝及配置

接下來我們需要使用Uwsgi來處理項目中的動態請求

基本配置

虛擬環境下運行

pip install uwsgi

在之前創建的config文件夾下新建一個hello.py用來做測試,寫入以下內容

# test.py
def application(env, start_response):
? ? start_response('200 OK', [('Content-Type','text/html')])
? ? return [b"Hello World"] # python3
? ? #return ["Hello World"] # python2
1
2
3
4
5
接下來運行

uwsgi --http :8001 --wsgi-file test.py

打開瀏覽器查看

出現上圖,說明Uwsgi已經初步運行成功

運行項目

上述步驟沒有出問題的話,我們就可以使用Uwsgi啟動項目了,項目根目錄下運行

uwsgi --http :8001 --module mysite.wsgi

其中mysite.wsgi(mysite替換成自己的項目名稱)會自動搜索項目中的wsgi.py文件

如果正常運行~恭喜

如果瀏覽器出現Internal Server Error

檢查命令提示符是否輸入正確
檢查是否項目根目錄下運行
其他情況,查看命令行輸出或者log
至此Uwsgi基本配置算是完成了~~

Nginx + Uwsgi + django

Nginx訪問hello.py

現在我們使用socket通信來通過Nginx訪問hello.py,(確保Nginx已經啟動)config文件夾下運行

uwsgi --socket :8001 --wsgi-file hello.py

好了,就這么現在訪問瀏覽器

xx.xx.xxx.xxx:8000

成功訪問~

其中8000是Nginx監聽的端口(mysite_nginx.conf文件中配置),–socket :8001是用于socket通信的端口(兩個端口都可以替換~)

使用Unix sockets替換端口

編輯mysite_nginx.conf文件,將原來內容修改成如下

server unix:///path/to/your/mysite/mysite.sock; # for a file socket
# server 127.0.0.1:8001; # for a web port socket (we'll use this first)
1
2
保存后,config文件夾下運行

uwsgi --socket mysite.sock --wsgi-file hello.py

依舊打開瀏覽器訪問xx.xx.xxx.xxx:8000,屏幕出現hello world,說明一切正常

如果出現502 Bad Getway

查看你的Nginx error log(/var/log/nginx/error.log)

如果出現

connect() to unix:///path/to/your/mysite/mysite.sock failed (13: Permission
denied)
1
2
則說明是權限問題,運行

uwsgi --socket mysite.sock --wsgi-file hello.py --chmod-socket=666

或者

uwsgi --socket mysite.sock --wsgi-file hello.py --chmod-socket=664 (推薦,但是我用了沒成功)

log如果打印了其他問題,請仔細檢查配置~

使用Nginx + Uwsgi運行項目

uwsgi --socket mysite.sock --module mysite.wsgi --chmod-socket=664
1
注意這里有個小坑,mysite_nginx.conf中我配置的mysite.sock在config文件夾下,而這條命令需要在項目根目錄下運行,這里可以:

修改mysite_nginx.conf下sock文件路徑到根目錄下
使用配置文件啟動(推薦)
編輯配置文件

config文件夾下新建mysite_uwsgi.ini,輸入以下內容

# mysite_uwsgi.ini file
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir ? ? ? ? ? = /path/to/your/project
# Django's wsgi file
module ? ? ? ? ?= project.wsgi
# the virtualenv (full path)
home ? ? ? ? ? ?= /path/to/virtualenv

# process-related settings
# master
master ? ? ? ? ?= true
# maximum number of worker processes
processes ? ? ? = 10
# the socket (use the full path to be safe
socket ? ? ? ? ?= /path/to/your/project/mysite.sock
# ... with appropriate permissions - may be needed
chmod-socket ? ?= 666
# clear environment on exit
vacuum ? ? ? ? ?= true

stats ? ? ? ? ? = %(chdir)/config/uwsgi.status ? ? ? ? ??

pidfile ? ? ? ? = %(chdir)/config/uwsgi.pid
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
用自己的路徑替換其中對應的配置~

保存后,運行(確保在mysite_uwsgi.ini目錄下)

uwsgi --ini mysite_uwsgi.ini

打開瀏覽器訪問xx.xx.xxx.xxx:8000

項目這時候應該完美運行了~~

大功告成~:)
---------------------?
作者:泡泡茶壺?
來源:CSDN?
原文:https://blog.csdn.net/breavo_raw/article/details/82665978?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

總結

以上是生活随笔為你收集整理的项目部署uwsgi +Nginx的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 人人干天天干 | 天堂中文8 | 国产视频二区三区 | 麻豆亚洲av熟女国产一区二 | 风间由美一区二区三区 | 成人一区二区三区视频 | 日本wwwxxx| 国产日皮视频 | 白石茉莉奈番号 | 日本一区二区高清不卡 | 国产成人精品a视频 | 国产剧情久久久 | 在线免费观看黄网 | 亚洲综合激情小说 | 国产一级黄 | 午夜精品久久久久久久99热浪潮 | 国产91av视频 | 亚洲精品男女 | 国产大片中文字幕在线观看 | 久久丫丫 | 精品爆乳一区二区三区无码av | 最近日韩免费视频 | 国产美女视频一区 | 欧美视频在线观看免费 | 少妇无码一区二区三区 | 国产夫妻自拍小视频 | 四虎视频国产精品免费 | 伊人av在线播放 | 丰满熟妇肥白一区二区在线 | aa在线视频 | 艳妇乳肉豪妇荡乳av无码福利 | 日日日操 | 99热在线这里只有精品 | aaa人片在线 | 国产精品久久久久久久久晋中 | 手机在线观看日韩av | 四虎视频国产精品免费 | 艳妇臀荡乳欲伦交换gif | 婷婷丁香九月 | 成年人免费看 | 懂色av,蜜臀av粉嫩av | 尤物视频在线看 | 国产精品一区二区亚洲 | 中文字幕有码在线视频 | 久久高清内射无套 | 风流僵尸艳片a级 | 欧美aⅴ在线观看 | 一区二区三区视频播放 | 青青草这里只有精品 | 黄页免费视频 | 九九九视频在线观看 | 国产精品一区二三区 | 尤物视频网站在线观看 | 免费一级毛片麻豆精品 | 国产只有精品 | 农村一级毛片 | 亚洲精品一区二区口爆 | 国产老女人乱淫免费可以 | 九九热九九热 | 中文字幕岛国 | 中国白嫩丰满人妻videos | 日韩视频一二三区 | 青青青在线观看视频 | 日韩av在线网站 | 艳妇臀荡乳欲伦交换h漫 | 短视频在线观看 | 中文字幕+乱码+中文乱 | 713电影免费播放国语 | 少妇搡bbbb搡bbb搡打电话 | 久久午夜精品 | 91爱在线观看 | www免费网站在线观看 | 成人国产综合 | 91午夜视频| 亚洲无人区码一码二码三码 | 欧美精品www | 国内91视频| 欧美视频三区 | 91看片在线看 | 精品xxxxx | 黄色小视频免费在线观看 | 亚州精品国产精品乱码不99按摩 | 一二三区免费 | 九九这里只有精品视频 | 国产精品视频看看 | 欧美日韩一区二区中文字幕 | 黄色片免费的 | 成年人免费看黄色 | youjizz在线视频 | 五月天丁香视频 | 涩涩屋视频 | 九九热在线免费观看 | 欧美人与禽zozzo性之恋的特点 | 色片免费观看 | 亚洲国产精品久久久久久 | 黄色一级视频网站 | 日韩欧美www | 91日韩| 亚洲精品国 |