Ubuntu + Nginx + Flask + Gunicore环境搭建(详细)

Ubuntu + Nginx + Flask + Gunicore环境搭建

工作前的准备python3 + virtualenv(本地)

虚拟环境好处多多
1、apt-get升级

sudo apt-get update

2、安装python3,python3命令进入命令行

sudo apt-get install python3

3、安装pip3

apt-get install python3-pip

4、创建虚拟环境,命令如下:

sudo pip3 install virtualenv #安装虚拟环境

5、安装虚拟环境扩展包,并且创建虚拟环境

sudo pip3 install virtualenvwrapper #安装虚拟环境包装器的目的是使用更加简单的命令来管理虚拟环境。

修改家目录下的配置文件.bashrc
cd ~.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
source .bashrc # 配置命令生效
mkvirtualenv -p python3 虚拟环境名称
所有的虚拟环境,都位于/home/python/下的隐藏目录.virtualenvs下
deactivate # 退出环境
workon 虚拟环境名称
删除虚拟环境的命令如下:
rmvirtualenv 虚拟环境名称
例:
先退出:deactivate
再删除:rmvirtualenv py_django

6、Ubuntu + Nginx + Flask + Gunicore环境搭建(服务器)

现在我们手里有一个准备发布的项目,那么如何将他上传到你的服务器,并让外网访问呢?

安装:

  1. 安装Flask pip3 install flask
  2. 安装UWSGI pip3 install uwsgi
  3. 安装了Nginx sodu apt-get install nginx
  4. 安装了Gunicorn pip3 install gunicorn

目录准备:

首先在你的/var/www/目录下创建一个测试目录,比如==/var/www# mkdir test==

然后使用chmod更改此目录的权限chmod 777 /var/www/test

这里讲一下chmod的规则,因为这里是测试用例,所以为了方便,直接使用777。
你好!

Ngnix

Ubuntu下的Nginx的目录结构大致如下:

  1. 所有的配置文件都在/etc/nginx下,每个虚拟主机已经安排在了==/etc/nginx/sites-available==目录下
  2. 启动程序文件在==/usr/sbin/nginx==
  3. 日志文件放在了/var/log/nginx中,分别是access.logerror.log
  4. 在==/etc/init.d/==下创建了启动脚本nginx
  5. 默认的虚拟主机的目录设置在了==/usr/share/nginx/www==

启动服务:/etc/init.d/nginx start,重启服务:/etc/init.d/nginx restart

现在,我们需要进入到Nginx的配置中,改动配置文件。vim /etc/nginx/site-avalidable/default
不要去改动默认的 nginx.conf 只需要将 /etc/nginx/sites-available/default文件替换掉就可以了。
新建一个 default 文件:

server {
# 监听80端口
listen 80;
# 本机
server_name localhost; 
# 默认请求的url
location / {
    #请求转发到gunicorn服务器
    proxy_pass http://127.0.0.1:5001; 
    #设置请求头,并将头信息传递给服务器端 
    proxy_set_header Host $host; 
}

}

将default配置文件替换掉就大功告成了!
还有,更改配置还需要记得重启一下nginx:

sudo service nginx restart

Gunicorn

我传入了一个简单的用来测试的Python文件wsgi.py ,使用命令/var/www/myflask# vim wsgi.py预览。
直接运行:
gunicorn -w 4 -b 127.0.0.1:8000 wsgi:app

直接运行,默认启动的127.0.0.1::8000
gunicorn 运行文件名称:Flask程序实例名
指定进程和端口号: -w: 表示进程(worker)。 -b:表示绑定ip地址和端口号(bind)。

$gunicorn -w 4 -b 127.0.0.1:5001运行文件名称:Flask程序实例名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值