部署flask:
1. 更新ubuntu的源
????????sudo apt-get update
2. 安裝mysql
????????sudo apt install mysql-server mysql-client
3. 修改mysql配置
????????cd /etc/mysql/mysql.conf.d
????????修改mysqld.conf 將bind_address注釋
4. 修改配置
????????use mysql拧烦;
????????GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
????????flush privileges;
5. 重啟mysql
????????service mysql restart
6. 安裝Nginx:
????????sudo apt-get install nginx
7. 安裝pip3
????????apt install python3-pip
8. 安裝uWSGI以及uWSGI對(duì)于Python的支持:
????????pip3 install uwsgi
9. 修改總的nginx的配置的文件
????????vim? /etc/nginx/nginx.conf
? ? ? ? 注意: /etc/nginx/sites-enabled文件可以查看歡迎頁(yè)路徑為/var/www/html
10. 配置nginx的文件
server {
? ? listen? ? ? 80;
? ? server_name 47.92.73.20 localhost;
? ? access_log /home/app/logs/access.log;
? ? error_log /home/app/logs/error.log;
? ? location / {
? ? ? ? include uwsgi_params;
? ? ? ? uwsgi_pass 127.0.0.1:8890;
? ? ? ? uwsgi_param UWSGI_CHDIR /home/app/src/s_aj;
? ? ? ? uwsgi_param UWSGI_SCRIPT manage:app;? # 啟動(dòng)flask的文件:Flask的實(shí)例
? ? }
}
11. 配置uwsgi的文件
[uwsgi]
socket=127.0.0.1:8890
pythonpath=/home/app/src/s_aj;? #項(xiàng)目所在目錄
callable=app;? # 回調(diào)的flask實(shí)例
logto = /home/app/logs/uwsgi.log? # 存uwsgi日志的文件地址
12. 將項(xiàng)目從本地轉(zhuǎn)移到linux服務(wù)器
13. 安裝依賴包
????????pip install -r re_install.txt
14. 啟動(dòng)服務(wù)進(jìn)行部署
????????方法一:不使用nginx+uwsgi
????????????????netstat -lntp查看80端口
????????????????kill -9 nginx占用的80端口
????????????????python3 manage.py runserver -h 0.0.0.0 -p 80
????????方法二:?jiǎn)?dòng)(nginx) service nginx restart
? ? ? ? ? ? ? ? 啟動(dòng)(uwsgi) uwsgi --ini uwsgi.ini
? ? ? ? ? ? ? ? shell開啟另一個(gè)窗口查看uwsgi錯(cuò)誤日子 tail -f uwsgi.log
django和flask項(xiàng)目部署有沖突的解決方案
????????1.flask換端口玖媚,需要設(shè)置防火墻挠唆,阿里云設(shè)置一道,linux系統(tǒng)通過(guò)ufw設(shè)置一道(默認(rèn)防火墻是關(guān)閉的雹仿,不需要設(shè)置)增热,并且修改nginx和uwsgi通信的端口號(hào)
????????2.不要部署django項(xiàng)目,不啟動(dòng)django項(xiàng)目的uwsgi胧辽,注釋掉nginx配置中的django項(xiàng)目include /home/app/conf/*.conf;
????????3.服務(wù)器映射多個(gè)80端口峻仇,一個(gè)端口對(duì)應(yīng)一個(gè)項(xiàng)目