《笔记》Apache2 mod_wsgi的配置
接手了一台古老的服务器的还使用的是mod_wsgi,所以需要配置一下。其实这里有点怀念,记得当年自己折腾第一个app的时候,还是个什么都不懂的菜鸡。当时用django搜方案的时候,还不知道有uwsgi或者tornado之类的东西。就知道apache2可以有可以handle wsgi的服务器。就用了一下mod_wsgi。这次这个项目坑,但是接手了多半还是有点情怀想还自己多年以前的技术债吧。
废话不多说还是上配置吧:
WSGIPythonHome /home/piperck/kn
WSGIPythonPath /home/piperck/project/xxx/x
<VirtualHost 127.0.0.1:>
DocumentRoot /home/piperck/project/xxx/x
WSGIScriptAlias / /home/piperck/project/xxx/x/apache/sogoke_dev.wsgi
WSGIDaemonProcess xxx_piperck user=ubuntu group=ubuntu processes=
WSGIApplicationGroup xxx_piperck
WSGIProcessGroup xxx_piperck
Errorlog /var/log/apache2/player_piperck_error.log
Customlog "|/usr/bin/rotatelogs /var/log/apache2/piperck_access_%Y_%m_%d.log 86400 480" combined
</VirtualHost>
一行一行的解释
1. 是设置project的工作路径。
2. 设置virtualenv或者miniconda的python包管理路径。
然后下面就是apache 的 vhost配置
1. 设置project的工作路径。
2. 应用wsgi的文件路径。这个路径下面要确保wsgi服务器能获取到wsgi application。
3. 告诉mod_wsgi你要使用daemon模式运行,并且设置processes 和 threds数量。 另外这里的xxx_piperck是一个wsgi后台,可以填写一个 自己的,user和 group 这里设置是linux的user和group 要确保这个用户有足够的权限可以操作你下面的设置的配置文件。比如下面设置了日志存放的地方,要确保你的用户有权限读写日志,否则运行会出错。
4. ApplicationGroup 和 ProcessGroup 似乎都没有特别的意思,我设置为跟后台一个名字的参数。
5. 剩下两行是设置日志的。错误日志存放地方,和一个访问日志特别说下那个CustomLog,他调用了一个rotatelogs这个linux工具,来做日志切分。
格式是:rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ]
logfile: /var/log/apache2/piperck_access_%Y_%m_%d.log
rotationtime:86400 ----24hours切一次
offset:480 ----utf+8
这样只要能让apache2正确找到wsgi文件的application,就能跑起来了。实际上我在配置的时候还遇到一点别的坑,我在配置nginx转发到这台机器的过程中,还是遇到一点坑。由于我是新配服务器,我试了各种办法都没有办法正确将流量转发过来,这个时候我应该排除是apache2服务器问题,因为如果nginx流量转发过来了,apache的日志是会看到的,只是会报500或者别的错误。不会完全边日志没有反应。后来我查了一大波nginx服务器配置也没有发现为啥不能转发我新设置在 nginx的800端口。 后来我突然想到,我操不会是设置了防火墙只允许之前那几个接口吧。
sudo iptables -L
一看果然,没有开放的端口全部都被拦截了。
其实遇到这种问题第一个应该想到的是云服务器那边是不是做了安全策略,二是看防火墙设置,最后再次检查nginx配置是否有误。按照这个思路还是能比较快查出问题的所在的。
《笔记》Apache2 mod_wsgi的配置的更多相关文章
- 【环境配置】php5.5 + apache2.4 安装配置【转+修改】
转自 http://my.oschina.net/lilinzero/blog/180509 [转+修改][环境配置]php5.5.10 + apache2.4 安装配置 根据自己的实践所得,稍微修改 ...
- apache2 tomcat https配置-被忽悠进了CentOS 6
因为需要让ios应用可以绕过appstore,要找个https的地方放ipa,决定使用已有http server. 首先需要说明的是,apache可以通过反向代理方式将用户的https分发到tomca ...
- windows下PHP5.5.6+Apache2.4.7配置
本文主要阐述在windows8及win8.1 环境下搭建PHP5.5.6+Apache2.4.7. 1.软件准备 apache 2.4.7:http://pan.baidu.com/s/1iUPif ...
- 安卓第十一天笔记-Intent与inter-filter配置
安卓第十一天笔记-Intent与inter-filter配置 Intent与inter-filter配置 1.Intent对象简述 Android应用中有包含三种重要组件:Activity,Servi ...
- php5.2.6+apache2.2.15配置
首先下载软件,忘记php下载地址了,apache是官网. 文件名 httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi php-5.2.6-win32-instal ...
- thinkphp学习笔记4—眼花缭乱的配置
原文:thinkphp学习笔记4-眼花缭乱的配置 1.配置类别 ThinkPHP提供了灵活的全局配置功能,ThinkPHP会依次加载管理配置>项目配置>调试配置>分组配置>扩展 ...
- PHP学习笔记----IIS7下安装配置php环境
原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...
- OGG学习笔记02-单向复制配置实例
OGG学习笔记02-单向复制配置实例 实验环境: 源端:192.168.1.30,Oracle 10.2.0.5 单实例 目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1. ...
- golang学习笔记8 beego参数配置 打包linux命令
golang学习笔记8 beego参数配置 打包linux命令 参数配置 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/mvc/contro ...
随机推荐
- CROI R1
$CROI$ $R1$ 今天参加了一场比赛,什么比赛呢?CROI. CROI是什么呢? $Challestend$ $Rehtorbegnaro$ $OI$.总的来说就是我们机房的一些神仙出的题啦. ...
- spring boot启动报错
Exception encountered during context initialization - cancelling refresh attempt: org.springframewor ...
- 一.html介绍
一.html1.就是一个文本文档,写标记语言,由浏览器软件进行渲染得到想要的网页效果2.版本:h4,h5 二.常用的h5标签1.块状标签: p:段落 div:块 span:同行块 h1-h6:6级标题 ...
- nn.ReLU(inplace=True)中inplace的作用
在文档中解释是: 参数: inplace-选择是否进行覆盖运算 意思是是否将得到的值计算得到的值覆盖之前的值,比如: x = x + 即对原值进行操作,然后将得到的值又直接复制到该值中 而不是覆盖运算 ...
- ogg BR – BOUNDED RECOVERY
BR – BOUNDED RECOVERY 适用于 Extract 进程(仅适用于 Oracle数据库) 使用 BR 参数可以控制 GoldenGate 的 Bounded Recovery (BR) ...
- Linux并发与同步专题 (3) 信号量
关键词:Semaphore.down()/up(). <Linux并发与同步专题 (1)原子操作和内存屏障> <Linux并发与同步专题 (2)spinlock> <Li ...
- 1-STM32带你入坑系列(STM32介绍)
由于自己的物联网开发板上的单片机是用的STM32,但是有些朋友没有用过,所以我将用这块开发板,带着大家入门STM32 先介绍一下STM32,我是在大三下学期的时候开始接触STM32,当时是想做一个小车 ...
- org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
项目启动报错2018-12-21 14:06:24.917 INFO 23472 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refr ...
- JS表格分页(封装版)
HTML代码: <html> <head> <meta charset='utf-8'> <script type="text/javascript ...
- 【C#复习总结】垃圾回收机制(GC)1
摘要:今天我们漫谈C#中的垃圾回收机制,本文将从垃圾回收机制的原理讲起,希望对大家有所帮助. GC的前世与今生 虽然本文是以.NET作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年,由 ...