欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Diango + uwsgi + nginx項目部署的全過程(可外網(wǎng)訪問)

 更新時間:2018年04月22日 14:34:08   作者:不懂得小白  
這篇文章主要給大家介紹了關于Diango + uwsgi + nginx項目部署的全過程(可外網(wǎng)訪問),文中通過示例代碼將部署的過程介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

前言

自己通過nginx uwsgi 部署django項目,查詢了很多資料,遇到了很多問題,最終完成了部署,趁著心情愉悅,寫個隨筆,為曾像我一樣苦尋解決方案的小伙伴們提供些思路。

方法如下

安裝Nginx:

#安裝nginx
sudo apt-get install nginx

#一些有用的命令
#啟動nginx
sudo /etc/init.d/nginx start 
#重啟nginx
 8sudo /etc/init.d/nginx restart
#停止nginx
sudo /etc/init.d/nginx stop

#很暴力的方法,我喜歡
sudo killall nginx

安裝uwsgi:

 pip install uwsgi
 
 #注意uwsgi需要在虛擬環(huán)境中運行

配置uwsgi:

#在項目目錄中建立個conf文件夾,將nginx和uwsgi文件都放進去,不是必須#但是個好習慣

#my_uwsgi.ini
ite_uwsgi.ini file
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir   = /to/your/project/#這個是項目的路徑
# Django's wsgi file
module   = project.wsgi#這個project要換成自己的項目名,也就是uwsgi.py所在的文件夾名
# the virtualenv (full path)
home   = /home/ubuntu/.virtualenvs/虛擬環(huán)境名#這個就是虛擬環(huán)境的路徑

# process-related settings
# master
master   = true
# maximum number of worker processes
processes  = 10
# the socket (use the full path to be safe
socket   = 127.0.0.1:8080#這個用來和Nginx對接,端口號可以改,本人項目將uwsgi作為本地服務,外網(wǎng)不能直接訪問,用nginx作為代理,所以用本地的地址。
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum   = true
~

配置nginx

#以下內容在mysite_nginx.conf中,這個文件名也可以隨意起
# mysite_nginx.conf

# the upstream component nginx needs to connect to
upstream django {
 # server unix:///path/to/your/mysite/mysite.sock; # for a file socket
 server 127.0.0.1:8080; #這個是用來跟uwsgi對接的,要和my_uwsgi.ini中寫一致
}

# configuration of the server
server {
 # the port your site will be served on
 listen  8000;#這個端口是nginx用來監(jiān)聽uwsgi的,默認的是80,總之項目是通過下面的server_name:8000來訪問的
 # the domain name it will serve for
 server_name xxx.xxx.xx.xx ; #這個ip就是服務器的ip
 charset  utf-8;

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

 # Django media
 location /media {
  alias /your/project/media; #這個目錄是項目的meda目錄
 }
 location /static {
  alias /your/project/static; # 這個目錄是項目的static目錄
 }

 # Finally, send all non-media requests to the Django server.
 location / {
  uwsgi_pass django;#這個是對接uwsgi的
  include  uwsgi_params; # 這個參數(shù)按我這樣寫nginx就能找到的
 }
}

將nginx配置文件鏈接到啟動配置目錄:

#注意修改下面的路徑及文件名,哈哈不要只復制粘貼啊
sudo ln -s ~/path/to/your/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/

修改django項目中的setting.py文件,添加

#要將STATICFILES_DIRS =[os.path.join(BASE_DIR, 'static')]注釋掉,Debug在生產(chǎn)模式也要改成False
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

將靜態(tài)文件打包,讓nginx代理:

python manage.py collectstatic

啟動nginx,uwsgi

 sudo /etc/init.d/nginx restart
#進入conf文件夾,或者說配置的uwsgi.ini文件所在目錄
#uwsgi.ini改成自己的名字
uwsgi -i uwsgi.ini

訪問:

ip:port(端口為nginx.conf中配置的)

總結:

寫到這也差不多了,項目可以跑起來了,nginx,uwsgi高級配置還在學習中,希望本文對你有所幫助,謝謝。

最后再提醒下,網(wǎng)上有很多配置文件的模板,將我寫注釋的地方對比修改下,別遺漏。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

參考文檔:https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

     http://uwsgi-docs.readthedocs.io/en/latest/Nginx.html

相關文章

最新評論