亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Diango + uwsgi + nginx項(xiàng)目部署的全過(guò)程(可外網(wǎng)訪問(wèn))

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

前言

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

方法如下

安裝Nginx:

#安裝nginx
sudo apt-get install nginx

#一些有用的命令
#啟動(dòng)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)境中運(yùn)行

配置uwsgi:

#在項(xiàng)目目錄中建立個(gè)conf文件夾,將nginx和uwsgi文件都放進(jìn)去,不是必須#但是個(gè)好習(xí)慣

#my_uwsgi.ini
ite_uwsgi.ini file
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir   = /to/your/project/#這個(gè)是項(xiàng)目的路徑
# Django's wsgi file
module   = project.wsgi#這個(gè)project要換成自己的項(xiàng)目名,也就是uwsgi.py所在的文件夾名
# the virtualenv (full path)
home   = /home/ubuntu/.virtualenvs/虛擬環(huán)境名#這個(gè)就是虛擬環(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#這個(gè)用來(lái)和Nginx對(duì)接,端口號(hào)可以改,本人項(xiàng)目將uwsgi作為本地服務(wù),外網(wǎng)不能直接訪問(wèn),用nginx作為代理,所以用本地的地址。
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum   = true
~

配置nginx

#以下內(nèi)容在mysite_nginx.conf中,這個(gè)文件名也可以隨意起
# 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; #這個(gè)是用來(lái)跟uwsgi對(duì)接的,要和my_uwsgi.ini中寫一致
}

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

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

 # Django media
 location /media {
  alias /your/project/media; #這個(gè)目錄是項(xiàng)目的meda目錄
 }
 location /static {
  alias /your/project/static; # 這個(gè)目錄是項(xiàng)目的static目錄
 }

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

將nginx配置文件鏈接到啟動(dòng)配置目錄:

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

修改django項(xiàng)目中的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

啟動(dòng)nginx,uwsgi

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

訪問(wèn):

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

總結(jié):

寫到這也差不多了,項(xiàng)目可以跑起來(lái)了,nginx,uwsgi高級(jí)配置還在學(xué)習(xí)中,希望本文對(duì)你有所幫助,謝謝。

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

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

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

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

相關(guān)文章

最新評(píng)論