众所周知,python作为脚本编程,是非常方便非常好用的。标准库多,第三方库多,拿来即用,代码量小,可能做的事情倒是极多,效率也不用愁。我所用的服务器中,定时脚本或异步脚本通常会考虑使用python,另一部分使用php。不是专业的服务器运维,shell开发没那么溜,还是脚本编程熟悉。图中的计划任务,除备份任务以外,都是脚本任务,本地自主调用。
我一直以php为主,非专门python科班出生,我对python多了份好奇,我不仅仅只能自己使用吧,熟悉学习了Django和Flask后,终于可以尝试一下,进行web站点开发及部署了。在上上家公司,团队人员配备比较齐全,有专门的运维人员,服务器的环境搭建、站点部署、配置优化等都能由他来搞定。而现在的公司暂没有运维人员,后端开发者就必须亲自动手了。
于是我们选择了比较速成又相对友好的宝塔面板(专业的不要喷,真的方便很多,安装软件,窗口界面管理,不要太舒服)。
首先,在网站管理模块,新建一个php纯静态站点,确定好物理的文件存放位置。上面三个站点即为python的测试站点,php用纯静态。最后一站点为普通的php站点,需要选择对应的php版本,ftp和数据库,按自己开发项目的需要可选择生成或不生成。
配置站点,把下面的代码放到如图中的位置,保存。这边配置的端口号,与后面uwsgi.ini文件中配置的端口号 和项目配置的端口号都需要一致。
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5020; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT bbs.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /www/wwwroot/www.django2.cn/; #项目路径
}
location /static/ {
alias /www/wwwroot/www.django2.cn/static/; #静态资源路径
}
点击根目录,进入本站点的根目录,
在uwsgi.ini 文件的内容如下。其中端口号我用的是5020,你可以自己选择。根目录chdir按实际的配置;wsgi-file就是我们代码的项目名目录下wsgi.py文件,我的是bbs/wsgi.py。
#添加配置选择 [uwsgi] #配置和nginx连接的socket连接 socket=127.0.0.1:5020 #配置项目路径,项目的所在目录 chdir=/www/wwwroot/www.django2.cn/ #配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录 wsgi-file=bbs/wsgi.py #配置启动的进程数 processes=4 #配置每个进程的线程数 threads=2 #配置启动管理主进程 master=True #配置存放主进程的进程号文件 pidfile=uwsgi.pid #配置dump日志记录 daemonize=uwsgi.log`
现在,在软件商店查找并安装官发发布的免费版 python项目管理器,我用的是2.0版。面板中安装就是一键安装
然后,通过设置python项目管理器,进行版本设置和项目添加
python版本可支持安装多个版本,但希望在安装之前确定好,自己的站点会用到哪个版本,本地开发用的是哪个版本。因为我们知道,python高版本不一定对低版本完全兼容。也不建议安装过多个版本,多浪费呀,还容易搞晕自己。 如果不再需要使用的python版本,可以直接卸载。
python项目添加,支持添加多个项目,项目之间也不会互相影响,都可独立配置。
接着,站点存放的物理位置已确定 ,就可以把本地站点下的所有文件夹及文件上传到这个位置。
其中的requirements.txt是从本地在开发环境下导出
pip freeze > requirements.txt
具体的添加,要按下图的具体内容展开。框架我用的是Django,所以启动方式选择用的是uwsgi,启动文件/文件夹则选定的是manage.py所在的目录。端口自行设置,但不要超过
项目的运行用户,通常用www就好。建议安装模块依赖,即会自动在虚拟环境中安装requirements.txt中的依赖包。建义勾选开机启动,不需要手动运行项目。
OK,基本步骤完成了,可以看看效果了
站点可以正常访问了。那接下来呢,就是配置域名,或者通过hosts指定配置,在本地的浏览器中访问。
本地hosts文件添加如下两行指定站点的访问ip。你们自己的ip和指定的站点域名就按实际填写哟。
192.168.2.80 django2.cn 192.168.2.80 www.django2.cn
Bingoo,效果出现!



