设为首页 加入收藏

TOP

python服务器环境搭建(3)——参数配置(一)
2017-10-09 17:46:36 】 浏览:7703
Tags:python 服务器 环境 搭建 参数 配置

  前面我们已安装好了python服务器运行所需要的相关软件,而最重要最繁琐的就是参数配置,写这篇就踩了好多坑,花了好多时间,遇到了各种各样的问题。好了费话少说,直接进入本篇话题。

  PS:本人不是专业的运维,很多linux服务器的问题都是一知半解,只能根据自己的研究弄弄单机版的python web服务器,而对于多服务器自动化同步的部署、服务器的监控、Linux服务器的安全、服务器的调优(很多服务安装不是重点,能将各种参数运用配置到洽到好处才是难点),大家最好找专业的运维工程师小戴同学问问,问我的话我也不一定能回答的出来。再一次感谢小戴同学的用心指导,让我学会了很多服务器运维方面的知识,才有这篇文章。(想学python与自动化运维的可以上他的博客http://www.linuxyw.com/)

 


 

  目录:

  一、让你的python代码跑起来

  二、使用supervisord来管理python进程
  三、将nginx与supervisord关联起来(使用代理方式,非uwsgi)
  四、使用nginx+supervisord+uwsgi来管理python web服务
  五、使用svn来管理python的自动化发布
  六、postgresql配置
  七、pgbouncer配置
  八、Redis配置
  九、设置各服务开机启动功能


 

  一、让你的python代码跑起来

  既然我们要配置的是python服务器,那首先我们要做的第一步是,放上我们的python代码,看看能否运行并访问

  先上代码,将下面代码粘贴到记事本上并存储为main.py(这个文名可以随便起,我存储的格式为ANSI格式,即记事本默认的格式)

#!/usr/bin/evn python
# coding=utf-8

from bottle import default_app, get, run
from beaker.middleware import SessionMiddleware

@get('/index/')
def callback():
    return 'Hello World!'

if __name__ == '__main__':
    app_argv = SessionMiddleware(default_app())
    run(app=app_argv, host='0.0.0.0', port=8088, debug=True, reloader=True)
else:
    application = SessionMiddleware(default_app())

  我们为了方便以后对服务器的管理,需要创建一个指定的文件夹(如果有挂载新硬盘的,可以将这个文件夹绑定到该目录),将日志、数据库、web站、后台服务、svn等内容统一放到指定文件夹下面

  首先在根目录下创建一个data文件夹(后面的各种日志、web站点等全都放在这里统一管理,以后我们要查找时就很方便了)

  输入命令:mkdir /data

  创建python web存储目录:mkdir /data/www

  创建测试目录:mkdir /data/www/test

  然后使用SSH的上传工具,上传刚刚创建好的main.py文件到www目录下的test文件夹

  

  后面的上传自书用这个上传工具处理(也可以直接使用vi进行编辑)不再截图

  然后我们运行:python /data/www/test/main.py  (或进入test目录运行:python main.py

  运行后会显示ImportError: No module named bottle错误,这是因为我们的程序调用了bottle包,而我们未安装这个依赖包,需要安装后程序才能正常运行,以后在使用python中碰到这种情况,直接输入pip install xxx即可

  安装bottle包:pip install bottle

  安装beaker包:pip install beaker

  

  然后再次输入:python main.py

  就会发现python web服务运行起来了

  

   然后关闭防火墙:systemctl stop firewalld  (如果浏览器访问不了,可以运行这个命令来关闭防火墙)

   打开浏览器输入:http://192.168.0.128:8088/index/  就可以看到Hello World!了

   

  为了方便后面的测试,我们按Ctrl+C,关闭刚才python启动的main.py服务

 

  二、使用supervisord来管理python进程

  supervisord默认配置文件存放路径是/etc/目录下面,安装完成后配置文件是不存在的,需要使用命令生成或我们自己放一个进去,我们先配置一个简单的不使用uwsgi的配置文件

  文件名称:supervisord.conf (我存储的格式为ANSI格式,即记事本默认的格式)

[unix_http_server]
file=/tmp/supervisor.sock   ; (the path to the socket file)

[supervisord]
logfile=/data/logs/supervisord/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=10MB        ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=2           ; (num of main logfile rotation backups;default 10)
loglevel=info                ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false               ; (start in foreground if true;default false)
minfds=1024                  ; (min. avail startup file descriptors;default 1024)
minprocs=200                 ; (min. avail process descriptors;default 200)

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket


[program:test]
command=python /data/www/test/main.py    ; supervisord将要执行的运行python服务的命令
directory=/data/www/test
stdout_logfile=/data/logs/super
首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇一个小型的文本分类系统-python(.. 下一篇装饰器--decorator1

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目