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就可訪問了。
阿里雲ubuntu16.04ECS+Nginx+uwsgi部署django項目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.