1. 前言
今天腾讯云服务器终于批下来了, 喜大普奔啊!!!!因为我们需要使用它来搭建自己的网站, 所以赶紧配置一下
项目发布地址: http://115.159.144.61:8001/
个人网站:http://www.zhyh2010.cn
2. 配置流程
2.1 添加个人账户
参考资料: [linux用户管理(1)—-创建用户(adduser和useradd)和删除用户(userdel)]
主要指令:
ps: adduser 会默认创建用户的主文件夹
adduser zhyh2010
passwd zhyh2010
2.2 为个人账户添加sudo 权限
主体流程:
1.login in root user.
2.终端执行 visudo。这个命令是打开 /etc/sudoer文件。
3.在这个文件的末尾添加 username ALL=(ALL) ALL 然后 ZZ
4.login in your username.
5.sudo yum update.//for test
2.3 添加科大的镜像源
2.4 添加 python 和 pip
2.5 安装 lnmpa 集成开发环境
2.6 gunicorn安装
pip install gunicorn
2.7 flask 安装
pip install flask
pip install virtualenv
2.8 virtualenv 使用
$mkdir myproject
$cd myproject
$virtualenv venv
$. venv/bin/activate
2.9 从仓库下载 flask 工程文件
git 操作, 当然也可以直接用filezila 将工程传递上去
注意这里需要同时安装 工程相关的依赖插件 flask-login 之类的
需要特别注意的是, 使用 pip install xxx 和 sudo pip install xxx 的效果是不一样的, 由于我们最终使用sudo运行, 因此, 这里所有依赖的插件都应该使用 sudo pip 进行安装, 否则运行错误
2.10 运行工程项目
1.这里使用gunicorn 启动工程
gunicorn -D -w 3 -b 127.0.0.1:8000 application:app
2.这里说明一下:
- D 表示后台运行
- w 表示有3 个 工作线程(感觉有些类似 nginx 的 master-worker 模型)
- b 指定ip 和端口
- 这里采用本机访问, 主要是为了使用nginx 进行代理, 方便管理
- application 表存放 写着全局变量 app 的那个工程文件夹
- 在我们的这个工程中, 即包含 init.py 的那个文件
- app 为全局变量 (app = Flask(__name__))
- ps: 在下面图示文件夹中运行 gunicorn 指令
3.参考资料: Docs » Running Gunicorn
2.11 配置nginx 服务器脚本
安装完的nginx 在 /usr/local/nginx 目录下, 我们可以找到conf文件夹下的 nginx.conf 文件, 将其修改
添加nginx 需要监听的端口信息
server {
listen 8001;
server_name instagram.zhyh2010.com;
location /{
proxy_pass http://127.0.0.1:8000;
}
}
实际上, 我们将外部通过 8001 端口发送过来的请求, 代理给了 127.0.0.1:8000 也就是我们的 flask 项目
2.12 防火墙设置
3. 效果