CentOS 7.2配置Apache服务httpd(下)

2025-05-27 0 80

一、perl + mod_perl

安装mod_perl使perl脚本速度快

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67
[1] 安装mod_perl

# 从epel安装

[root@linuxprobe ~]# yum --enablerepo=epel -y install mod_perl

[2] 配置perlrun模式,总是将perl解释器放在ram上。

[root@linuxprobe ~]# vi /etc/httpd/conf.d/perl.conf

# line 15: 取消注释 ( check codes and output warnings to logs )

perlswitches -w

# line 24: 取消注释

perlswitches -t

# line 30-36: 取消注释像下面一样

alias /perl /var/www/perl

<directory /var/www/perl> # the directory for mod_perl environment

sethandler perl-script # processes files as perl-scripts under this directory

# addhandler perl-script .cgi

# set specific extension if do do not want to processes all files as cgi

# perlresponsehandler modperl::registry

perlresponsehandler modperl::perlrun

# specify perlrun mode

perloptions +parseheaders

options +execcgi

</directory>

# line 43-49: 取消注释并添加如下信息

<location /perl-status>

sethandler perl-script

perlresponsehandler apache2::status

require ip 127.0.0.1 10.1.1.1/24

# add access permission

# order deny,allow

# deny from all

# allow from .example.com

</location>

[root@linuxprobe ~]# systemctl restart httpd

[3] 创建测试脚本以确保设置不是ploblem。如果显示如下所示的结果,就可以。

[root@linuxprobe ~]# mkdir /var/www/perl

[root@linuxprobe ~]# vi /var/www/perl/test-mod_perl.cgi

#!/usr/bin/perl

use strict;

use warnings;

print "content-type: text/html\\n\\n";

print "<html>\\n<body>\\n";

print "<div style=\\"width:100%; font-size:40px; font-weight:bold; text-align:center;\\">";

my $a = 0;

&number();

print "</div>\\n</body>\\n</html>";

sub number {

$a++;

print "number \\$a = $a";

}

[root@linuxprobe ~]# chmod 705 /var/www/perl/test-mod_perl.cgi

#客户端浏览器访问:http://linuxprobe.org/perl/test-mod_perl.cgi

CentOS 7.2配置Apache服务httpd(下)

[4] 配置在ram上具有代码缓存的注册表模式

?

1

2

3

4

5

6

7

8

9

10

11

12

13
[root@linuxprobe ~]# vi /etc/httpd/conf.d/perl.conf

alias /perl /var/www/perl

<directory /var/www/perl>

sethandler perl-script

perlresponsehandler modperl::registry # uncomment

#

perlresponsehandler modperl::perlrun # comment out

perloptions +parseheaders

options +execcgi

</directory>

[root@linuxprobe ~]# systemctl restart httpd

[5] 访问作为[4]节的示例的测试脚本,然后变量通过重新加载而增加,因为变量被高速缓存在ram上。所以有必要编辑注册表模式的代码,这里浏览器没刷新一次,$a值加一。

CentOS 7.2配置Apache服务httpd(下)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
[root@linuxprobe ~]# vi /var/www/perl/test-mod_perl.cgi

#!/usr/bin/perl

use strict;

use warnings;

print "content-type: text/html\\n\\n";

print "<html>\\n<body>\\n";

print "<div style=\\"width:100%; font-size:40px; font-weight:bold; text-align:center;\\">";

my $a = 0;

&number($a

);

print "</div>\\n</body>\\n</html>";

sub number {

my($a) = @_;

$a++;

print "number \\$a = $a";

}

[6]顺便说一下,可以看到mod_perl的状态来访问“http://(主机名或ip地址)/ perl-status”。

CentOS 7.2配置Apache服务httpd(下)

二、php + php-fpm

安装php-fpm使php脚本速度快

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
[1]安装php,请参考这里。

[2]安装php-fpm。

[root@linuxprobe ~]# yum -y install php-fpm

[3] 配置apache httpd。

[root@linuxprobe ~]# vi /etc/httpd/conf.d/php.conf

# line 5: change like follows

<filesmatch \\.php$>

#

sethandler application/x-httpd-php

sethandler "proxy:fcgi://127.0.0.1:9000"

</filesmatch>

[root@linuxprobe ~]# systemctl start php-fpm

[root@linuxprobe ~]# systemctl enable php-fpm

[root@linuxprobe ~]# systemctl restart httpd

[4]创建phpinfo并访问它,然后如果“fpm / fastcgi”显示,它是确定。

[root@linuxprobe ~]# echo '<?php phpinfo(); ?>' > /var/www/html/info.php

CentOS 7.2配置Apache服务httpd(下)

三、python + mod_wsgi

安装mod_wsgi(wsgi:web服务器网关接口),使python脚本更快

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
[1] 安装mod_wsgi .

[root@linuxprobe ~]# yum -y install mod_wsgi

[2] 例如,将mod_wsgi配置为可以访问/ test_wsgi,后端是/var/www/html/test_wsgi.py.

[root@linuxprobe ~]# vi /etc/httpd/conf.d/wsgi.conf

# create new

wsgiscriptalias /test_wsgi /var/www/html/test_wsgi.py

[root@linuxprobe ~]# systemctl restart httpd

[3] 创建您在上面设置的测试脚本.

[root@linuxprobe ~]# vi /var/www/html/test_wsgi.py

# create new

def application(environ,start_response):

status = '200 ok'

html = '<html>\\n' \\

'<body>\\n' \\

'<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\\n' \\

'mod_wsgi test page\\n' \\

'</div>\\n' \\

'</body>\\n' \\

'</html>\\n'

response_header = [('content-type','text/html')]

start_response(status,response_header)

return [html]

CentOS 7.2配置Apache服务httpd(下)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14
[4]配置如果你使用django。 ([参考安装django](http://blog.csdn.net/wh211212/article/details/52992413))例如,在“wang”下拥有的“/home/wang/ venv/testproject”下配置“testapp”

[root@linuxprobe ~]# vi /etc/httpd/conf.d/django.conf

# create new

wsgidaemonprocess testapp python-path=/home/wang/venv/testproject:/home/wang/venv/lib/python2.7/site-packages

wsgiprocessgroup testapp

wsgiscriptalias /django /home/wang/venv/testproject/testproject/wsgi.py

<directory /home/wang/venv/testproject>

require all granted

</directory>

[root@linuxprobe ~]# systemctl restart httpd

四、访问日志分析器:awstats

安装awstats,它报告http日志以分析对http服务器的访问。

[1] 安装awstats。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35
# install from epel

[root@linuxprobe ~]# yum --enablerepo=epel -y install awstats

# awstats.(hostname).conf是自动生成的

[root@linuxprobe ~]# vi /etc/awstats/awstats.linuxprobe.org.conf

# line 122: change

# if your config for log format in httpd.conf is 'combined' set here '1'

# if log-config is 'common' set here '4', but in this case, some informations can't be get (browser info and so on)

logformat=1

# line 153: specify your hostname

sitedomain="linuxprobe.org

# line 168: set ip address you'd like to exclude

hostaliases="localhost 127.0.0.1 regex[server\\.world$] regex[^10\\.1\\.1\\.]

"

[root@linuxprobe ~]# vi /etc/httpd/conf.d/awstats.conf

# line 30: ip address you permit to access

require ip 10.1.1.0/24

[root@linuxprobe ~]# systemctl restart httpd

# generate reports ( reports are updated for hourly by cron )

[root@linuxprobe ~]# /usr/share/awstats/linuxproberoot/cgi-bin/awstats.pl -config=linuxprobe.org -update

create/update database for config "/etc/awstats/awstats.linuxprobe.org.conf" by awstats version 7.4 (build 20150714)

from data in log file "/var/log/httpd/access_log"...

phase 1 : first bypass old records, searching new record...

searching new records from beginning of log file...

phase 2 : now process new records (flush history on disk after 20000 hosts)...

jumped lines in file: 0

parsed lines in file: 165

found 0 dropped records,

found 0 comments,

found 0 blank records,

found 0 corrupted records,

found 0 old records,

found 165 new qualified records.

[2]访问“http://(您的服务器的名称或ip地址/)/awstats/awstats.pl”,然后显示以下屏幕,可以看到httpd日志报告。

CentOS 7.2配置Apache服务httpd(下)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:http://blog.csdn.net/wh211212/article/details/52994505

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 CentOS 7.2配置Apache服务httpd(下) https://www.kuaiidc.com/56367.html

相关文章

发表评论
暂无评论