創建django項目,python項目上線_django之項目部署上線

 2023-09-28 阅读 24 评论 0

摘要:在開始配置之前,需要將整個項目文件拷貝一份,然后移入你想要的放置的目錄中。創建django項目,一、Django配置1、settings.py配置Python django、復制全局settings.py配置文件,創建一個副本命名為/pro_settings.py,修改DEBUG為False。DEBUG =

在開始配置之前,需要將整個項目文件拷貝一份,然后移入你想要的放置的目錄中。

創建django項目,一、Django配置

1、settings.py配置

Python django、復制全局settings.py配置文件,創建一個副本命名為/pro_settings.py,修改DEBUG為False。

DEBUG =False#填寫你自己的ip和域名

ALLOWED_HOSTS = [“ 192.168.216.137","localhost","127.0.0.1"]

#此處設置可以訪問服務器的IP地址,*為允許所以地址

第一次部署的時候,最好先不要修改,否則出錯的時候不容易排錯。

2、wsgi.py配置

#修改pro_mysite/wsgi.py文件

importosfrom django.core.wsgi importget_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'peo_mysite.pro_settings')

application= get_wsgi_application()

3、生成requirements.py文件(最好在根目錄下單獨建立一個目錄,用于存放這些文件)

項目部署文件肯定也是運行在python環境下的,那么勢必需要依賴的包文件,所以也需要為部署的項目重新建立一個運行的虛擬環境,并安裝項目運行時所依賴的包、模塊,所以需要先進入開發時的虛擬環境,將安裝的包、模塊導出來,安裝在項目部署的虛擬環境中(注意:有的包、模塊不是我們通過pip install 從源地址安裝的,所以在導出時,需要將其刪除,通過源文件安裝。)

通過>>> pip freeze > requirements.txt

將安裝的第三方包、模塊導出到requirements.txt文件,放在項目中,供部署時安裝。

上面的fdfs-client-py==1.2.6不是通過源地址安裝的,而是直接通過源文件安裝的,所以需要將這個模塊刪除。

通過>>> pip install requirements.txt

安裝從源地址安裝的第三方包、模塊(在此之前,需要創建項目運行虛擬環境),

安裝完成后,再安裝通過源文件安裝的第三方包、模塊,比如我的fdfs-client-py==1.2.6模塊

兩類包、模塊都安裝完成后,接下來就是安裝django項目運行的服務器模塊了(注意:django項目部署時,與我們開發時運行的方式不太一樣;開發時,直接使用命令python manage.py runserver 0:8000就可以了,但是部署時,是運行在一個WSGI服務器上的,此時只需要相關配置,再運行wsgi服務器,就可以起啟動項目了。)

通過>>> pip install uwsgi

安裝WSGI服務器

可以寫一個test.py文件測試uwsgi是否安裝成功

通過>>> uwsgi --http :8000 --wsgi-file test.py

這個命令表示WSGI服務器運行在8000端口,一旦接收到請求,就會將解析請求,并調用test.py文件里的application函數,返回一個響應,

uwsgi配置(創建uwsgi_conf_ini配置文件)

[uwsgi]#使用nginx連接時使用,Django程序所在服務器地址#選擇內網IP和端口

socket=172.26.149.79:8000

#項目根目錄

chdir=/root/django-projects/dj32_pro/dj32_pro#項目中wsgi.py文件的相對目錄

wsgi-file=dj32_test/wsgi.py#進程數

processes=2

#線程數

threads=2

#uwsgi服務器的角色

master=True#存放進程編號的文件

pidfile=uwsgi.pid#日志文件,因為uwsgi可以脫離終端在后臺運行,日志看不見。以前的runserver是依賴終端的

daemonize=logs/uwsgi.log#指定虛擬環境所在目錄,不能填相對目錄

virtualenv=/root/python-venv/dj32

要注意上述配置標紅的地方,一定要嚴格遵照執行,

socket:表示項目運行的IP地址和端口號,一定要是內網地址;

chdir:表示項目的根目錄(使用pwd命令獲取);

wsgi-file:表示項目中wsgi.py文件的位置,在主APP下;

daemonize:記錄項目運行的日志,是相對于這個配置文件的位置,不是相對于根目錄,切記;

virtualenv:表示項目運行的虛擬環境的絕對路徑

啟動uwsgi(進入.ini配置文件所在的目錄,啟動uwsgi服務)

啟動uwsgi>>> uwsgi --ini uwsgi_conf.ini

停止uwsgi>>> uwsgi --stop uwsgi.pid

1、安裝nginx(根據自己的系統選擇合適的nginx配置,以Centos為例)

>>> yum -y install nginx

2、啟動nginx,查看啟動狀態,如果啟動狀態為active,則代表啟動成功

3、測試是否安裝成功

nginx默認運行在80端口,可以直接在瀏覽器中訪問,如果有顯示,表示在安裝成功,

4、nginx常用命令(如果不是root用戶,需要在前面加sudo)

停止nginx服務器>>>?systemctl stop nginx

啟動nginx服務器>>> systemctl start nginx

重啟nginx服務器>>> systemctl restart nginx

重載配置而不關閉>>> systemctl reload nginx

設為開機自啟動>>>> systemctl enable nginx

取消開機自啟動>>>> systemctl disable nginx

5、nginx配置(找到配置文件的位置,修改配置文件,配置文件的位置,上面已經標出來了)

/etc/nginx/nginx.conf

upstream dj32_pro {#此處為uwsgi運行的ip地址和端口號

server 172.26.149.79:8000;

}

server {#監聽端口

listen 80;#服務器域名或者ip地址

server_name www.blogcloud.info;#編碼

charset utf-8;#文件最大上傳大小

client_max_body_size 75M;#媒體文件

location /media {

alias/home/pyvip/pro_mysite/media;

}#靜態文件

location /static {

alias/home/pyvip/pro_mysite/static;

}#主目錄

location /{

uwsgi_pass pro_mysite;

include/etc/nginx/uwsgi_params;

}

}

#修改sudo vim /etc/nginx/nginx.conf#第一行開頭修改用戶,將www-data改為你當前的用戶 創建 Nginx 運行使用的用戶 www:

user root;

user后面跟你自己主機的用戶名

具體看一下nginx配置的全部內容

具體看一下我們配置好的配置文件

測試nginx配置文件是否正確>>>?nginx -t -c /etc/nginx/nginx.conf

如果打印如下內容,就表示成功了:

重新加載配置>>>?nginx -s reload -c /etc/nginx/nginx.conf

詳細了解nginx配置正向代理、反向代理、負載均衡、動靜分離相關內容請看(

補充:如果遇到啟動uwsgi和nginx時,啟動失敗,多半是端口占用的問題,那就解除占用

查看指定端口>>> netstat -ap | grep 8000

查看端口>>>>>>netstat -a

殺死進程>>>>>>pkill -9 PID

查看某個程序的進程>>> ps -aux | grep nginx

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/102831.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息