一.安装虚拟环境
为什么要创建虚拟环境:为了避免包冲突,等学会安装,使用操作了,需要自行下载你项目需要的python包
1.安装
sudo pip install virtualenv
sudo pip install virtualenvwrapper
失败尝试下面:
sudo pip install pbr -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip install --no-deps stevedore -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip install virtualenvwrapper -i https://pypi.tuna.tsinghua.edu.cn/simple
2.配置
进入:
cd ~
ls -al (查看一个隐藏文件名字)
vim .bashrc
添加:
# 在末尾添加该代码,不会使用vim自己查一下使用方法
export WORKON_HOME=$HOME/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
初始化:
source ~/.bashrc
虚拟环境基础操作:
创建虚拟环境:
mkvirtualenv --python=/usr/bin/python3 flask_env
# 上面创建的文件夹在cd ~/.virtualenvs
进入虚拟环境:
workon 虚拟环境名字
退出虚拟环境:
deactivate
查看当前目录的python包:
pip list
二.安装uwsgi
为什么安装它:nginx是对外服务器,uwsgi是对内服务器;nginx负责筛选文件,向用户返回静态文件,然后把动态路由加粗样式提交给内服务器uwsgi来与flask交互处理。
1. 安装
pip install uwsgi
2.配置
创建:
# 在项目文件下创建文件 uwsgi.ini
touch uwsgi.ini
vim uwsgi.ini
写入:
[uwsgi]
master = true
socket=:8001 # 该位置与nginx通讯该地址与下面说的nginx地址需要一致
chdir = /srv/flask # 项目文件
wsgi-file=/srv/flask/app.py # 启动文件
callable=app
processes=10
threads=5
buffer-size = 65536
vacuum=true
pidfile =/srv/flask/uwsgi.pid
virtualenv=/root/.virtualenvs/flask_env #虚拟环境地址
py-autoreload=1 #python内容更新,自动生效
stats=/srv/flask/uwsgi.status #如果生成该文件表示应该开启uwsgi
3.使用
注意:使用前自行先进入虚拟环境
查看进程:ps -aux
启动:uwsgi --ini uwsgi.ini
关闭:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
三.nginx
1.安装
内容:apt install nginx
测试:访问自己服务器的ip地址,看看是否成功
2.基础配置
打开:
vim /etc/nginx/sites-enabled/default
删除原文件写入:
server {
listen 80;
server_name wwww.jk.cn;
#动态请求
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
#静态请求
location /static {
alias /srv/flask/static;
}
}
3.https配置
注意:3和4可以最后再配置
server {
listen 443;
server_name wwww.jk.cn;
# ssl配置
ssl on;
ssl_certificate /srv/fla/wwww.jk.cn_public.crt;
ssl_certificate_key /srv/faaalask/ssl/6.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
4.强制跳转
解释:这里跳转是http://www.jk.cn
和http://jk.cn
和https://jk.cn
这几种情况跳转到https://www.jk.cn
server {
# 80跳转
listen 80;
server_name jk.cn,www.jk.com;
return 301 https://www.jk.cn$request_uri;
}
server {
listen 443 ssl;
server_name wwww.jk.cn;
# ssl配置
ssl on;
ssl_certificate /srv/fla/wwww.jk.cn_public.crt;
ssl_certificate_key /srv/faaalask/ssl/6.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
server {
# 443 域名格式跳转
listen 443 ssl;
server_name jk.cn;
return 301 https://www.jk.cn$request_uri;
}
四.mysql
1.下载
apt-get install mysql-client
apt-get install mysql-server
2.配置
修改root密码:
# 输入mysql进入操作
mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456789';
允许mysql能被外访问:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 将bind-address改为0.0.0.0
bind-address = 0.0.0.0
允许mysql的root用户能被访问:
# mysql -uroot -p 输入后进入mysql交互界面
use mysql;
update user set host = '%' where user = 'root';
3.操作
进入数据库:mysql -uroot -p