CentOS 7.2配置Apache服务httpd(下)

简介: CentOS 7.2配置Apache服务httpd(下)



 一、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

[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值加一。

?

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”。

二、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

三、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]

?

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日志报告。

以上就是本文的全部内容,希望对大家的学习有所帮助。


目录
相关文章
|
1天前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
27 1
|
Linux 虚拟化
CentOS 7.X配置连接网络
应用场景 Linux虚拟机,系统安装完毕后,无法连接网络,由于是最小化安装,很多命令无法直接yum安装,无法连接外网wget下载资源等等,造成很大的不便,因此需要进行配置连接外网! 操作指南 1. 开启VMware NAT Service 右击“计算机”,选择“管理”,在“服务和应用程序”中,选择“服务”,在右边找到“VMware NAT Service”服务,进行开启。
1171 0
|
Linux 虚拟化 网络协议
CentOS 6.X配置连接网络
应用场景 Linux虚拟机,系统安装完毕后,无法连接网络,由于是最小化安装,很多命令无法直接yum安装,无法连接外网wget下载资源等等,造成很大的不便,因此需要进行配置连接外网! 操作指南 1. 开启VMware NAT Service 右击“计算机”,选择“管理”,在“服务和应用程序”中,选择“服务”,在右边找到“VMware NAT Service”服务,进行开启。
825 0
|
16天前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
138 1
linux centos上安装python3.11.x详细完整教程
|
2天前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
26 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
14天前
|
Unix Linux 开发工具
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
本文详细介绍了如何在官网下载CentOS 8以及在VMware Workstation Pro 16虚拟机上安装CentOS 8的步骤,包括可能出现的问题和解决方案,如vcpu-0错误的处理方法。
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
|
14天前
|
消息中间件 Linux
centos7安装rabbitmq
centos7安装rabbitmq
|
14天前
|
Linux 虚拟化 Windows
完美解决:重新安装VMware Tools灰色。以及共享文件夹的创建(centos8)
这篇文章提供了解决VMware Tools无法重新安装(显示为灰色)问题的步骤,并介绍了如何在CentOS 8上创建和配置VMware共享文件夹。
完美解决:重新安装VMware Tools灰色。以及共享文件夹的创建(centos8)
|
15天前
|
Docker 容器
centos7.3之安装docker
centos7.3之安装docker
|
15天前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis