阿里云服务器部署flask+gunicorn项目

1.前言:

  • 服务器

  • 阿里云的轻量应用服务器,系统是Centos 7.3.

  • 使用的相关软件是: powershell

在这里插入图片描述
1.如果要用软件远程连接到阿里云的服务器,需要先在阿里云的控制台,为服务器重置一个密码。
2.远程连接服务器,输入密码的时候是不会显示的。
输入完成后直接回车就行了。
3.最好了解一些最基本Linux的命令 例如

cd,pwd,kill,ls, mkdir...

2.安装Python3.6

首先安装依赖包

yum -y groupinstall "Development tools"

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

然后根据自己需求下载不同版本的Python3,我下载的是Python3.6.2

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

如果速度不够快,可以直接去官网下载,利用WinSCP等软件传到服务器上指定位置,我的存放目录是/usr/local/python3,使用命令:
其他版本地址https://www.python.org/ftp/python/
建立一个空文件夹:

mkdir /usr/local/python3 

然后解压压缩包,进入该目录,安装Python3

tar -xvJf  Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install

安装完后会提示安装好了pip等工具.

出现“successfully installed”等字样。

到此为止,Python3.6已经安装好了,

由于centos7 中自带的python的版本是python2.

而现在很多包只支持python3 ,所以我们要安装虚拟环境,在虚拟环境中的python版本是3.6

然后我们要安装virtualenv(python环境隔离工具)。
之后我们的flask的部署以及python包的下载都要在这个虚拟环境中进行!
每次重新远程连接centos的时候都要记得进去虚拟环境后再操作。

3. 安装virtualenv

pip  install virtualenv

建立python3独立环境
virtualenv  -p /usr/local/python3/bin/python3.6 /py3env

进去python3独立环境
source /py3Env/bin/activate

成功进入独立环境后是这样的。
在这里插入图片描述
最后 我们再输入:

python -V

到此为止 python3的安装以及独立环境的安装完成了

4.搭建LNMP环境(Mysql,Nginx,Php)

1. 关闭防火墙和selinux
打开文件selinux

vim  /etc/sysconfig/selinux

将文件中SELINUX=enforcing改为disabled,然后执行”setenforce 0″不用重启地关闭selinux。

SELINUX=disabled

关闭放火墙

systemctl stop firewalld.service

2.安装软件
2.1.MYSQL安装
下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装mysql-community-release-el7-5.noarch.rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装MYSQL
wget命令的下载地址可能会失效,自行去官网找要下载的包的地址
mysql官网:http://dev.mysql.com/

sudo chown -R root:root /var/lib/mysql

​ 重启服务:

systemctl restart mysql.service

登录,并修改密码:

mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > flush privileges;
mysql > exit;

123456就是mysql的密码
这个密码随便设置,别忘记了就好,(忘记了挺麻烦的)
4.安装git
可以选择 github 或者Bitbucket,当然你也可以自己搭建 git服务器,但我觉得没啥必要,我选择Bitbucket,主要是因为它私有库免费

sudo yum install git

后续就跟我们本地开发没什么区别了,配置 ssh key,clone代码,就不展开了,项目目录建议放在 /home/www/ 下
5.上传flask项目文件至服务器
拷贝本地代码到远程

scp -r 本地文件路径 [email protected]:远程保存路径

note:单文件,如。.txt文件,直接路劲即可,去掉-r

6.安装Python包

cd /usr/local/python3/bin

yum install mysql-devel gcc gcc-devel python-devel

pip install -r requirements.txt

note:生成requirements.txt文件

pip freeze > requirements.txt

7.调试Mysql脚本文件
在服务器上重新建数据库,建表,会比较麻烦,而且有时候mysql在本地的电脑上已经存在部分数据。

所以比较快捷的方法就是在本地的数据库上导出sql脚本文件,然后将这个脚本文件上传到服务器,运行就好了。

运行之后,整个数据库就能搬到服务器上了

我是使用Navicat for Mysql来导出sql文件

右键blog 转储sql文件
在这里插入图片描述
得到blog.sql文件后将文件上传到服务器,如同上述步骤一样。
假如blog.sql文件的位置是 /usr/local/python3/bin/blog.sql
首先进入mysql

mysql -u root -p

输入密码
在Centos下里面的是首先要新建一个和文件相同名字的数据库。

mysql>create database blog;

然后输入指令:

mysql> use blog;

mysql>source /usr/local/python3/bin/blog.sql;
mysql>exit;

然后就OK了。

5.安装 gunicorn

pip install gunicorn

6.运行flask项目

gunicorn -w 3 -b x.x.x.x:8000 manage:app

注意把x.x.x.x替换成内网ip地址
大功告成啦!

外网想要访问你的flask网站

只要通过公网的IP地址就行了

X.X.X.X:8000

如果要停止这个程序的运行
查看进程

ps -aux | grep gunicorn

然后kill掉这3个进程就好了

kill -9 进程号

如果重新连接服务器,记得要进入独立环境后再操作!

source /py3Env/bin/activate

猜你喜欢

转载自blog.csdn.net/qq_43030934/article/details/106998600
今日推荐