部署python flask项目到云服务器
操作环境是ubuntu16.04,使用xshell和xftp工具,记得进入root用户,如果没有需要设置,怎么设置后面更新。
Python 3.5.2(自带的,需要设置python为默认的python版本)然后安装pip(sudo apt-get install python-pip)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2这个是python3.6的
然后
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
安装mysql8.0
2.1 先下载好APT库,https://dev.mysql.com/downloads/repo/apt/ (可以用wget命令 )
2.2 解压 sudo dpkg -i 保存的路径/mysql-apt-config_0.8.10-1_all.deb(文件名)
2.3 下载更新最新的软件包信息 sudo apt-get update
安装 apt-get install mysql-server
安装时记得选择传统的加密方式
2.4允许远程连接设置utf-8为默认字符集
输入命令: vi /etc/mysql/mysql.conf.d/mysqld.cnf
i 进行编辑
在 [mysqld]里面添加
bind-address = 0.0.0.0
character-set-server=utf8
esc退出编辑
:wq保存退出
同上 vi /etc/mysql/conf.d/mysql.cnf
default-character-set=utf8
查看字符集 :先连接上数据库,然后show variables like ‘%character%’;
8.0.17直接授权不可行,(GRANT ALL PRIVILEGES ON . TO ‘Ubuntu’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;)采用其他方法
use mysql;
select host,user from user;(查看现有用户)
update user set host=’%’ where user=‘root’;
select host,user from user;(查看是否修改成功)
FLUSH PRIVILEGES;(刷新权限)
chdir 改为你自己的项目地址
module 改为你的管理的py文件,app就是你flask初始化的名字
比如我的是main.py和app
启动uwsgi --ini uwsgi.ini
报错:WARNING: Can’t find section “uwsgi” in INI configuration file uwsgi.ini
先找有无uwsgi,然后如果有就是因为编码的问题,需要设置为utf-8,而不是bom,用notepad++编辑更改编码格式。
uwsgi --reload uwsgi/uwsgi.pid重启服务
http模块下面加上server
vim /etc/nginx/nginx.conf
端口80可以不改,默认http访问
uwsgi_pass 改为你自己项目的端口
/static的地址改为你自己的项目地址
图片中的server_name需要指向你自己的服务器的公网ip
这里需要指定配置启动nginx -c /etc/nginx/nginx.conf
如果需要直接在根目录下输入nginx直接启动,还需要配置/etc/nginx/sites-available/default这个文件
再启动nginx 重启的话nginx -s reload
nginx -s stop停止
ps -ef | grep nginx 查看进程
整个项目就到此部署完成了,项目demo:https://www.gary666.com/,gary个人博客
有问题可以加qq:1349380978联系我,或者直接发邮件[email protected]