flask項目上線部署


此例為個人博客項目部署

上線部署准備工作

  • 安裝mysql

  • 安裝redis

安裝: apt-get install redis-server
從進程中查看是否啟動: ps -aux|grep redis 端口 6379
  • 安裝uginx

安裝: sudo apt install nginx

systemctl status nginx 查看nginx的狀態
systemctl start/stop/enable/disable nginx 啟動/關閉/設置開機啟動/禁止開機啟動

或者是如下命令:
service nginx status/stop/restart/start

注意:nginx的配置文件中加載自定義的nginx的配置文件

vim /etc/nginx/nginx.conf
在server中加入以下配置:
include /home/app/conf/*.conf;
  • 安裝uwsgi

pip install uwsgi 安裝到虛擬環境下

vim /etc/nginx/nginx.conf
在server中加入以下配置:
include /home/app/conf/*.conf;

注意:將window上項目文件移動到與服務器

scp -r D:\/file\/wordspace\/axf root@47.112.15.210(雲服務器ip):/home/code scp -r D:\/file\/wordspace\/axf-vue\/dist root@47.112.15.210:/home/code

 

本地服務器操作

使用 Git Bash終端 將項目提交到github:

注意: windows下進入目錄反向斜杠/

  1. 在需要的本地目錄下clone遠程倉庫,將整個項目放進去

  2. 在本地倉庫目錄下

  • git add . 提交到本地倉庫

  • git commit -m ' 提交項目 '

  • git push -u 遠程倉庫地址(ssh需要配密鑰, http) 后面推送無需加 -u

配置准備:

1.進入阿里雲網頁,在防火牆中打開80端口服務

2.在阿里雲服務器端,安裝mysql,配置數據庫,設置阿里雲服務器遠程訪問權限

 

阿里雲服務器端操作

1.創建工作目錄,home下創建code 和 env 用來存放代碼和虛擬環境

2.在code目錄下clone遠程倉庫到阿里雲服務器

在env目錄下創建虛擬環境blogenv (首先得安裝虛擬環境包)

3.進入blogenv/bin目錄下安裝所需要的庫文件

  • 激活虛擬環境: source activate

  • 在虛擬環境下安裝項目所需的三方庫: pip3 install -r requirement.txt的絕對路徑

    非虛擬環境下安裝三方庫: pip3的絕對路徑 install -r requirement.txt的絕對路徑

4.啟動項目

方式一: 虛擬環境中python3的絕對路徑 manage.py的絕對路徑 runserver -p 80 -h 0.0.0.0

例:  /home/env/blogenv/bin/python3  /home/code/flask/blog/manage.py runserver -p 80 -h 0.0.0.0

方式二: 在code目錄下創建run_blog.sh文件: touch run_blog.sh, 將以上啟動命令存入該文件.使用nohup去運行它,會生成一個nohup.out日志文件

  • 修改權限: chmod -R 777 run__blog.sh

  • 后台掛載應用 &: nohup ./run_blog &

    • 查看nohup.out日志文件

    • cat nohup.out: 查看全部

    • tail -n 5 nohup.out :查看最后五條記錄

    • tail -f nohup.out: 動態查看應用運行日志

啟動時端口被占用,需查看端口殺死占用端口進程:

  • 查看端口:

    法1: ps -aux | grep 80(指定查找字段)

    法2: netstat -lntp

  • 殺死進程:

    kill -9 進程PID

方式三: 使用 uginx 和 uwsgi 掛載項目

  • 配置nginx

新建 blognginx.conf 文件

server {
      listen 8880;     # 監聽8880端口
      server_name 47.112.15.210;

      location / {
              include uwsgi_params;
              uwsgi_pass 127.0.0.1:8000;  # 訪問8880端口,請求跳轉到8000端口

              uwsgi_param UWSGI_CHDIR /home/code/flask/blog; # blog路徑
              uwsgi_param UWSGI_SCRIPT manage:app;
      }
}
  • 配置uwsgi

新建 bloguwsgi.ini 文件

[uwsgi]
master=true
socket=127.0.0.1:8000
chdir=/home/code/flask/blog/
pythonpath=/home/env/blogenv/bin/python3
callback=app
logto=/home/logs/bloguwsgi.log

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM