教你完整搭建Python web 环境

大家好,我是个非专业的码农,我现在在一家survey单位上班。

15年开始写程序,主要写管理系统方面的网站。之前一直用asp.net 构建网站,说是asp.net其实用到它最多的就是一个数据绑定和repeater控件了,前端用的都是现成的js框架。

为什么开始接触Python?

想接触的其他系统方面的东东。

目的,希望能够在自己新买的macbook pro上工作。

我的目标 开发web \ios\android\exe 能够在一台电脑上进行

python 可以 满足我 web开发 exe两者

说了这么多废话,下面记录一下我这几天的搭建python web环境的过程,顺便温故知新一下

一、系统准备

(1)服务器

  我租用的某云服务器,ubuntu 系统刚开接触的肯定会比较晕,像我现在一样,所以上来可以安装个图形界面程序

  apt-get install ubuntu-desktop

  安装完是不是轻松多了。

(2)客户端

 我的是17款MacBook Pro  
 二、安装python
  这两个系统好像都自带了。好吧。

  苹果没有带python3, ubuntu带了3.5版本

苹果:brew install python //请自行百度homebrew

ubuntu :apt-get install python

(1)关于两个版本的切换

其实你只要 用 python3的时候用python3就好了

(2)使用virtualenv

这个具体大家去了解 ?,我个人理解就是一个包,可以方便的让你在2,3之间来回切换

安装:pip install virtualenv

创建: virutualenv -p python3 python3env //如果系统只有一个python3 直接virtualenv python3env就可以了

我在服务器ubuntu环境中老是failed,在后面加一个 --no-setuptools,后面需要的时候再在虚拟环境中 pip install

具体原因不清楚 有可能是版本兼容问题

激活:source python3env/bin/activate

回到主程序:deactivate

不用了直接删除就可以了

三、选择一款web框架
我选择了flask

安装:pip install Flask

可以从网上找一个flask demo

git clone git@github.com:xm/xxx.git

flask框架具体怎么用,大家百度下

四、服务器配置
在这里我选择了gunicorn and nginx and supervisor

欢迎大神介绍一下这几个工具 ?

gunicorn 前面为什么加nginx?

nginx与guicorn的具体区别

supervisor 进程管理利器

安装 虚拟环境下

pip install gunicorn

apt-get install nginx

pip install supervisor

//supervisor 目前支持python2 所以要建一个python2的虚拟环境 在该环境下安装supervisor

(1)nginx 配置

首先编辑配置文件

这里有几个 etc/nginx/nginx.conf ,etc/nginx/sites-available/default ,etc/nginx/sites-enabled/default

我们可以在 sites-available中建立各个项目的配置文件

具体配置根据个人情况 可以百度一下

然后链接到sites-enabled中

最后被全部include到nginx.conf下

ln -s etc/nginx/sites-available/selfdefine etc/nginx/sites-enabled/selfdefine

或直接在/etc/nginx/conf.d/下新建配置文件

查看Nginx的版本号:nginx -V

启动Nginx:start nginx

快速停止或关闭Nginx:nginx -s stop

正常停止或关闭Nginx:nginx -s quit

配置文件修改重装载命令:nginx -s reload #如关闭了nginx会报错,此时先nginx

ps -ef | grep nginx #查看运行的nginx

(2)supervisor配置操控gunicorn

gunicorn启动flask的操作非常简单,

guincorn -w 3 yourapp:app -b 127.0.0.1:8000

3 是2*1个内核+1 yourapp是你的py启动文件名 app 是你里面的 app.run

这样我们的程序就启动了

但用supervisor更加方便

配置好后 每次

start myapp

restart myapp

stop myapp

配置方法具体我也不介绍了,自行百度吧

就是把command命令链接到里面

安装完后首先 生成myapp所需的配置文件模版

(python3env)$echo_supervisord_conf > supervisord.conf

然后修改这个配置文件(python3env)$vim supervisord.conf //也可以用nano命令

可以在配置文件最后加上以下语句用来关联相关的配置文件[include]

files =etc/self/*.conf

这样每次加载到时候都会加载self下到conf文件

配置文件中比较重要的几个

#[program:pythonapp]

#directory=%(ENV_HOME)s/flasky #程序所在目录

#command=%(ENV_HOME)s/flasky/py3env/bin/gunicorn -w 3 hello:app -b 127.0.0.1:8000

#stdout_logfile 为设置输出的日志文件

保存后准备启动:

supervisord -c supervisord.conf # 指定配置文件启动supervisord

supervisorctl -c supervisord.conf //启用控制

status start restart stop reload update //常用命令

五、上传部署flask项目
Mac 与 服务器之间的文件传输

打开终端命令,输入

sftp -p username@serverip

put 客户端文件 服务器文件

put -r 客户端文件夹 服务器文件夹

六、开始运行
supervisorctl -c supervisors.conf

项目文件更新后,由于缓存机制可能不会立即见到效果

解决办法:

一是nginx缓存配置 //自行百度

二是利用supervisor restart myapp

结束语
刚刚开始研究,希望大家能给出意见和建议,共同进步交流

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值