参考文章:www.jianshu.com/p/f1acbd401…python
1)下载 python 3.6.1mysql
wget https://www.Python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
复制代码
2) 解压nginx
tar xJf Python-3.6.1.tar.xz
复制代码
3) 进入 python-3.6.1 目录c++
cd Python-3.6.1
复制代码
4)安装sql
./configure --prefix=/usr/local/python3 && make && make install
复制代码
若是安装失败须要先执行:shell
sudo yum install gcc-c++
复制代码
若是报:zipimport.ZipImportError: can't decompress data; zlib not available数据库
执行:yum -y install zlib*
flask
5)建立python3软连接bash
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
复制代码
通常安装python3后pip3会一块儿安装了,(pip3 -V查看是否安装)若是没有安装pip3服务器
1)安装虚拟环境
pip3 install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
复制代码
2)建立Python的虚拟环境
在指定目录下执行则安装在该目录下(好比能够在py36venv下,先mkdir py36venv)
/usr/local/python3/bin/virtualenv -p /usr/bin/python3 venv
复制代码
3)激活虚拟环境(虚拟环境目录下执行,如py36venv下)
source venv/bin/activate
复制代码
4)关闭环境:
deactivate
复制代码
首先在项目的虚拟环境生成requirements.txt,进入虚拟环境:
pip freeze>requirements.txt
复制代码
服务器端进入虚拟环境,执行安装
pip install -r requirements.txt
复制代码
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
yum repolist all | grep mysql
sudo yum install mysql-community-server
复制代码
启动mysql服务
sudo service mysqld start
sudo systemctl start mysqld
sudo systemctl status mysqld
复制代码
查看系统默认的root密码
grep "temporary password" /var/log/mysqld.log
复制代码
mysql -u root -p
输入密码后进入MySQL修改默认密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'(密码改为了root)
复制代码
修改密码会提示校验不经过先执行:set global validate_password_policy=0;
PS:注意本地安装Navicat链接远程服务器的时候,会被拒绝这时须要在服务器端运行受权:
grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;
复制代码
安装依赖包:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel```
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure --prefix=/usr/local/nginxmake && make install
whereis nginx
/usr/local/nginx/sbin/nginx
复制代码
修改NGINX配置文件:
cd /etc/nginx
vi nginx.conf
#location增长uwsgi的配置
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
复制代码
虚拟环境下安装uwsgi:pip install uwsgi
找一个文件夹下建立一个配置文件config.ini
[uwsgi]
# uwsgi 启动时所使用的地址与端口
socket = 127.0.0.1:8080
# 指向网站目录
chdir=/root/www/flask_idiom
# python 启动程序文件
wsgi-file = manage.py
# python 程序内用以启动的 application 变量名
callable = app
# 处理器数
processes = 4
# 线程数
threads = 2
buffer-size = 32768
#状态检测地址
stats = 127.0.0.1:9090
复制代码
PS:socket地址和nginx处一致端口也要一致
启动直接:uwsgi config.ini
项目地址:/root/www/flask_idiom
虚拟环境地址:/root/py36venv/venv
uwsgi配置地址:/root/www/flask_idiom
1)激活虚拟环境:[root@instance-9bor86dn venv]# source bin/activate
2)虚拟环境下进入到项目地址:初始化数据库
export FALSK_APP=manage.py
flask db init
flask db migrate
flask db upgrade
复制代码
3)运行爬虫脚本初始化数据到数据库
mysql -u root -p
#建立数据库
create database bss_demo charset utf8;
复制代码
4)运行项目:uwsgi config.ini
查看进程:ps -aux|grep uwsgi
kill -9 进程号中止服务
Tip:uwsgi是直接在前台启动的,当咱们的链接终端跟服务器断开的时候uwsgi进程也被关闭了,因此咱们须要uwsgi在后台运行。 后台启动项目用nohup启动:不挂断运行命令,用"&"可让你的命令在后台执行(注意:别漏了&号。)
nohup uwsgi config.ini &
复制代码
参考:www.jianshu.com/p/ac6c84a2f…
Supervisor(supervisord.org/) 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。
它能够很方便的监听、启动、中止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它从新拉起,很方便的作到进程自动恢复的功能,再也不须要本身写shell脚原本控制。
pip install supervisor
#修改supervisor的配置文件
复制代码