服务器部署Flask项目(ubuntu版)

服务器环境配置

1.更新ubuntu的源

sudo apt-get update

2.安装mysql

sudo apt-get install mysql-server mysql-client

说明:安装完成后窗口中会提示输入密码,可以直接回车表示不输入密码,但强烈建议输入密码,并且在项目中配置数据库时,密码要和此处一致,才能够访问到服务器中数据库。

3.配置mysql远程访问

  • 切换到目录:/etc/mysql/mysql.conf.d/
  • 打开文件mysqld.conf
  • 注释bind_address
cd /etc/mysql/mysql.conf.d/
vim mysqld.conf
  • 连接数据库
mysql -u root -p
  • 进入mysql
use mysql
  • 配置外部访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
flush privileges;

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令

  • 重启mysql
    有时flush privileges并不一定能生效,所以手动重启一次mysql
service mysql restart

4.创建项目数据库,从本地迁移数据

(1)使用navicat创建服务器数据库连接
服务器部署Flask项目(ubuntu版)_第1张图片

如果安装mysql时没有设置密码,此时则不填写密码

(2)创建一个新的数据库
服务器部署Flask项目(ubuntu版)_第2张图片
(3)将本地数据库的数据迁移到服务器新建数据库里
服务器部署Flask项目(ubuntu版)_第3张图片

5. 服务器安装nginx和uwsgi

sudo apt-get install nginx
sudo apt-get install uwsgi

检查nginx是否安装完成:用浏览器打开服务器地址看是否有页面

nginx默认页面所在路径: /var/www/html/

6.安装pip3&安装python的uwsgi模块

apt install python3-pip
pip3 install uwsgi

7.配置nginx文件

vim /etc/nginx/nginx.conf
(1)创建目录

通常会创建一个目录存放需要配置的文件和上传的工程等内容。/home/app/conf src logs。

mkdir home
cd home
mkdir app
cd app
mkdir conf src logs
  • conf 存放配置文件
  • src 存放工程文件
  • logs 存放日志
(2)创建nginx.conf配置文件mynginx.conf

mynginx.conf是需要自己创建的一个nginx配置文件,此文件放在conf包中,配置内容如下:

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; 
    }

}
  • access_log 后面的参数是access.log的路径
  • error_log 后面的参数是error.log的路径
  • app是manage中的Flask对象
(3)配置nginx.conf
http{
...
##
        # Virtual Host Configs

        include /etc……/conf.d/*.conf;
        include /etc……/sites-enabled/*;
        # 在此处添加自己的conf文件路径
        include /home/app/conf/*.conf;
}

8.将项目上传服务器

1.可以用ftp软件(xshell/fileZilla)从本地上传到服务器
2.也可以通过上传git再从git clone到服务器

9.配置uwsgi.ini

uwsgi.ini是需要自己创建的一个配置文件,此文件存放于conf包中,配置内容如下:

[uwsgi]
# 端口号要和自己配置的nginx.conf中的端口一致
socket=127.0.0.1:8888
pythonpath=/home/app/iHome/src/ihome_like;

callable=app;

logto=/home/app/ihome/logs/uwsgi.log;

10.启动uwsgi.ini

启动后即可在网页上访问flask项目

uwsgi --ini uwsgi.ini

你可能感兴趣的:(服务器部署Flask项目(ubuntu版))