阿里雲ubuntu16.04ECS+Nginx+uwsgi部署django項目

1.下載nginx:sudo apt-get install nginx
2.打開瀏覽器訪問公網ip,如果顯示nginx歡迎界面即爲安裝成功
3.啓動項目所在的虛擬環境:source bin/activate
ubuntu16.04ecs有點坑,默認python命令啓動的是python2,下載uwsgi時會產生很多問題	
問題1:缺少setuptools,全局安裝:pip3 install setuptools

問題2:plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory,原因是python命令默認
啓動python2,一些東西無法用python2下載,需要用python3,所以乾脆把ubuntu的python命令改爲默認啓動python3

參考鏈接:https://blog.csdn.net/luhu124541/article/details/81607137

4.在虛擬環境中下載uwsgi:pip3 install uwsgi -I --no-cache-dir
5.假設我的django項目名爲mysite,則在mysite/目錄下新建一個conf文件夾,然後再conf文件夾下新建兩個文件,一個是mysite_nginx.conf文件,用於配置nginx,另外一個是uwsgi.ini,用於配置uwsgi
6.將django配置修改成生產環境:
 DEBUG = True
 ALLOWED_HOST = ['47.101.48.37']	#你的服務器公網ip
#開發模式用STATICFILES_DIRS,部署模式時用STATIC_ROOT
mysite/mysite/settings.py中設置STATIC_ROOT=os.path.join(BASE_DIR, 'static')
然後運行python manage.py collectstatic遷移項目的靜態文件,

6.nginx配置:在mysite_nginx.conf中內容如下:
server {
    listen 8000;	#瀏覽器中輸入的訪問端口,需在阿里雲上配置對應的安全組。
    server_name 47.101.48.37;	#你的服務器公網ip
    charset utf-8;

    client_max_body_size 75M;
     
    location /static {
    	#django項目的靜態文件所在路徑,需提前在settings.py中配置好
        alias /home/project/Mysite/mysite/static;	
    }
    location / {
        uwsgi_pass 127.0.0.1:8002;	#與uwsgi對接的端口,需與uwsgi.ini中的socket配置相同。
        include /etc/nginx/uwsgi_params;
    }
}
7.將mysite_nginx.conf軟連接到/etc/nginx/sites-enabled/路徑,但是我的Nginx14.2沒有sites-enabled文件,

 - vim /etc/nginx/nginx.conf
 - 在    include /etc/nginx/conf.d/*.conf;語句下面一行添加:	include /etc/nginx/sites-enabled/*.conf;
 - 在/etc/nginx/目錄下新建sites-enabled文件夾
 - 將項目的nginx配置文件軟鏈接到sites-enabled,用下面這條命令行
 - sudo ln -s /home/project/Mysite/mysite/conf/mysite_nginx.conf /etc/nginx/sites-enabled/

 8.配置uwsgi.ini:
 [uwsgi]
chdir = /home/project/Mysite/mysite
module = mysite.wsgi:application
socket = 127.0.0.1:8002
master = true
processes = 4

daemonize = /home/project/Mysite/mysite/run.log
disable-logging = true
vacuum = true
9.啓動nginx:/etc/init.d/nginx start
啓動uwsgi:在mysite/conf/目錄下:uwsgi uwsgi.ini
10.在瀏覽器中輸入:<公網ip:8000>+django項目中的url就可訪問了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章