django下進行項目的部署
1、服務器購買
本人在阿裏雲購買了一個服務器,操作系統為windows server2008/Linux(ubuntu)
2、服務器環境配置
1、pip freeze > plist.txt :將當前虛擬環境中所安裝的環境,移植到plist.txt文件夾中
2、sudo apt-get install python-virtualenv :Linux下下載對應的虛擬環境安裝包
3、sudo easy_install virtualenvwrapper:Linux下下載對應的虛擬環境安裝包
4、mkvirtualenv [虛擬環境名稱]:創建虛擬環境
5、pip install -r plist.txt:安裝pilist.txt虛擬環境中的配置
6、修改setting.py文件
1、DEBUG = False
2、ALLOW_HOSTS=[‘*‘,]表示可以訪問服務器的ip
7、啟動服務器查看訪問信息是否正常
3、WSGI
1、在生產環境中,任何服務器進行部署,都需要遵循WSGI協議
4、uWSGI
1、pip install uwsgi:安裝uwsgi
2、配置uWSGI,在項目中新建文件uwsgi.ini
[uwsgi]
socket=外網ip:端口(使用nginx連接時,使用socket)
http=外網ip:端口(直接做web服務器,使用http)
chdir=項目根目錄
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log
3、啟動:uwsgi --ini uwsgi.ini
4、停止:uwsgi --stop uwsgi.pid
5、重啟:uwsgi --reload uwsgi.pid
5、nginx
1、sudo apt-get nginx:下載安裝nginx
2、tar zxvf nginx-1.6.3.tar.gz:對nginx進行安裝包的解壓操作
3、進入nginx-1.6.3目錄依次執行如下命令進行安裝:
1、./configure
3、sudo make install
4、默認安裝到/usr/local/nginx目錄,進入此目錄執行命令
1、查看版本:sudo sbin/nginx -v
2、啟動:sudo sbin/nginx
3、停止:sudo sbin/nginx -s stop
4、重啟:sudo sbin/nginx -s reload
5、通過瀏覽器查看nginx運行結果
6、指向uwsgi項目:編輯conf/nginx.conf文件
1、sudo conf/nginx.conf
2、在server下添加新的location項,指向uwsgi的ip與端口
location / {
include uwsgi_params;將所有的參數轉到uwsgi下
uwsgi_pass uwsgi的ip與端口;
}
6、靜態文件
1、配置nginx的靜態項
1、所有的靜態文件都會由nginx處理,不會將請求轉到uwsgi
2、配置nginx的靜態項,打開conf/nginx.conf文件,找到server,添加新location
location /static {
alias /var/www/test5/static/;
}
2、在服務器上創建目錄結構“/var/www/test5/”
3、sudo chmod 777 /var/www/test5:修改對應的目錄權限
4、mkdir static:創建static目錄,註意順序是先分配權限,再創建目錄
5、配置settings.py文件
1、STATIC_ROOT=‘/var/www/test5/static/‘
2、STATIC_URL=‘/static/‘
6、收集所有靜態文件到static_root指定目錄:python manage.py collectstatic
7、重啟nginx、uwsgi
django下進行項目的部署