天天看點

Python全棧 Web (項目部署)

Python全棧 Web (項目部署)

Django項目(Web應用)

  Web服務

    1、nginx   :高并發處理的好

    2、Apache  :穩定

      LAMP :Linux  Apache  MySQL  Python/Php/Perl

      LNMP :Linux  Nginx   MySQL  Python/Php/Perl

    3、uwsgi

      是Web伺服器與Web架構之間一種簡單而通用的接口

單項目部署(nginx+uwsgi+Django)

確定django項目能夠運作

安裝nginx(用apt-get去安裝)

    1、安裝

sudo apt-get install nginx           

    2、啟動

sudo /etc/init.d/nginx restart           

    3、驗證

      打開浏覽器-->127.0.0.1:80-->Welcome to Nginx!

  安裝uwsgi(用pip3去安裝)

sudo pip3 install uwsgi           

    2、驗證

uwsgi --http :9998 --chdir /home/tarena/myproject/friutday_1/ --module friutday.wsgi           

  部署

    配置uwsgi(配置檔案)

1、

mkdir uwsgi           

2、

cd uwsgi           

3、

vi fruitday_uwsgi.ini           
[uwsgi]
			# 和nginx通信的端口
			socket=127.0.0.1:8001
			# 項目路徑
			chdir=/home/tarena/myproject/friutday_1
			# wsgi.py路徑
			wsgi-file=friutday/wsgi.py
			# 程序數
			processes=4
			# 線程數
			thread=2
			# 本項目占用uwsgi端口
			stats=127.0.0.1:8081           

    配置nginx(配置檔案)

sudo -i

cd /etc/nginx/sites-enabled

vi project_nginx.conf

# 配置檔案内容
		server{
		        # 監聽本項目端口,浏覽器輸入的端口
			listen 8201;
			server_name frituday.com;
			charset utf-8;
			client_max_body_size 75M;
			# 收集項目靜态檔案路徑
			location /static{
				alias /home/tarena/myproject/friutday_1/static;
			}
		      # 和uwsgi通信端口和項目通信檔案uwsgi_params
			location /{
				include uwsgi_params;
				uwsgi_pass 127.0.0.1:8001;
			}
		}
		4、重新開機nginx服務
		sudo /etc/init.d/nginx restart
		5、拷貝uwsgi_params檔案到項目目錄
		cp uwsgi_params /home/tarena/myproject/friutday_1/           

    收集靜态檔案

      1、在settings.py檔案中添加路徑(STATIC_ROOT)

STATIC_ROOT = '/home/tarena/myproject/friutday_1/static/'           

      2、收集靜态檔案

python3 manage.py collectstatic           

    uwsgi啟動項目

cd /home/tarena/uwsgi
      	uwsgi --ini fruitday_uwsgi.ini           

3、多項目部署

uwsgi

    每個項目需要單獨建立uwsgi配置檔案,選用不同端口

nginx

    配置檔案,1個就可以,添加server{}

部署個人部落格項目

        浏覽器通路端口 :8202

/etc/nginx/sites-enabled/project_nginx.conf
			# listen 8202
    	uwsgi和nginx通信端口 :8002
			cd uwsgi
			vi blog_uwsgi.ini
			# socket=127.0.0.1:8002
		uwsgi啟動個人部落格項目占用端口 :8082
			vi blog_uwsgi.ini
			stats=127.0.0.1:8082