教你完整搭建Python web 环境

编程知识 更新时间:2023-04-07 05:37:35

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

15年开始写程序,主要写管理系统方面的网站。之前一直用asp 构建网站,说是asp其实用到它最多的就是一个数据绑定和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: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

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

更多推荐

教你完整搭建Python web 环境

本文发布于:2023-04-07 05:37:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/d4106fd4a377e6e4899b026920fb005a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:教你   完整   环境   Python   web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 52346文章数
  • 14阅读数
  • 0评论数