优选主流主机商
任何主机均需规范使用

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

未经允许不得转载:搬瓦工中文网 » CentOS 7.2环境下Apache服务httpd详细配置教程(续集)