博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
httpd安装和配置(cgi、wsgi)
阅读量:2355 次
发布时间:2019-05-10

本文共 2189 字,大约阅读时间需要 7 分钟。

参考:

 

一、yum方式安装:

1、yum install httpd

输入y后继续。

 

2、看到一下类似的返回,说明安装成功

 

3、由于linux Redhat默认将httpd作为系统服务,可以根据实际需要将httpd加入开机启动。

单独查看某一服务是否开机启动的命令 :chkconfig --list 服务名

单独开启某一服务的命令 ;chkconfig 服务名 on

单独关闭某一服务的命令;chkconfig 服务名 off

查看某一服务的状态:service httpd status

 

二、离线安装httpd

wget

tar -zxvf httpd-2.4.33.tar.gz

yum install pcre pcre-devel -y

以下省去几百字。

 

三、httpd常用配置:

1、配置httpd支持cgi

vim /etc/httpd/conf/httpd.conf

 

如果这一行被注释,去掉注释

LoadModule cgi_module modules/mod_cgi.so

 

设置好CGI目录:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

 

配置如下:

<Directory "/var/www/cgi-bin/">

AllowOverride None

Options FollowSymLinks +ExecCGI

Order allow,deny

Allow from all

</Directory>

 

添加CGI扩展名:(去掉注释)

AddHandler cgi-script .cgi .py

 

2、配置httpd支持web.py

a、安装python

b、安装web.py

c、测试web.py是否成功安装,并且可以访问。

code.py内容如下所示:

import web urls = ( '/', 'index' ) class index: def GET(self): return "Hello, world!" if __name__ == "__main__": app = web.application(urls, globals()) app.run()

 

测试web.py是否安装成功。

python code.py 8080 &

看到以下结果测试通过:

 

d、配置httpd支持web.py

 

您可以使用您自己的项目名称替换’appname’。

您可以使用您自己的文件名称替换’code.py’。

/var/www/webpy-app 为包含您的code.py的文件夹目录路径。

/var/www/webpy-app/code.py 是您的python文件的完整路径。

 

安装mod_wsgi: yum install mod_wsgi(系统默认会关联python2.6)

确认mod_wsgi.so 是否位于这个目录/usr/lib64/httpd/modules/

 

vim /etc/httpd/conf/httpd.conf

在httpd.conf中配置Apache 加载 mod_wsgi模块和您的项目,在配置文件最后面加入如下脚本:

LoadModule wsgi_module modules/mod_wsgi.so

 

WSGIScriptAlias /appname /var/www/webpy-app/code.py/

 

Alias /appname/static /var/www/webpy-app/static/

AddType text/html .py

 

<Directory /var/www/webpy-app/>

Order deny,allow

Allow from all

</Directory>

 

演示文件code.py

import web

 

urls = (

'/.*', 'hello',

)

 

class hello:

def GET(self):

return "Hello, world."

 

application = web.application(urls, globals()).wsgifunc()

 

在您的浏览器地址栏中输入’ http://your_server_name/appname’ 来验证它是否可用。

 

 

#注意:经过测试,code.py无法导入当前目录的其他模块,可以临时放到python的site-packgs目录下。

 

#注意: mod_wsgi + sessions

 

如果您需要在mod_wsgi中使用sessions,您可以改变您的代码如下:

 

app = web.application(urls, globals())

 

curdir = os.path.dirname(__file__)

session = web.session.Session(app, web.session.DiskStore(curdir + '/' + 'sessions'),)

 

application = app.wsgifunc()

 

#mod_wsgi 性能: 有关mod_wsgi的性能,请参考mod_wsgi的维基页: http://code.google.com/p/modwsgi/wiki/PerformanceEstimates

转载地址:http://xsktb.baihongyu.com/

你可能感兴趣的文章
java线程中信号量Semaphore类的应用
查看>>
如何设置CentOS为中文显示
查看>>
Nginx配置
查看>>
php-fpm配置
查看>>
Centos 系统时间与当前时间相差和时区解决办法
查看>>
Linux下如何进行FTP设置
查看>>
linux之LVM操作案例
查看>>
由于CentOS的系统安装了epel-release-latest-7.noarch.rpm 导致在使用yum命令时出现Error: xz compression not available问题。
查看>>
php中抽象类和接口的概念与区别
查看>>
php抽象类和接口
查看>>
如何在linux CentOS 上安装chrome 谷歌浏览器
查看>>
laravel5 怎么实现事务
查看>>
GitLab安装说明
查看>>
Git查看、删除、重命名远程分支和tag
查看>>
PHP类中的抽象类,抽象方法,abstract
查看>>
PHP接口类interface的正确使用方法
查看>>
Sencha Touch之Hello World
查看>>
Tab Layout 之单个Activity实现
查看>>
Tab Layout 之多个Activity实现
查看>>
FrameLayout之我见
查看>>