CentOS 7.2配置Apache服务httpd(下)

时间:2021-09-28 16:53:52
这篇文章主要为大家详细介绍了CentOS 7.2配置Apache服务 httpd上篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、Perl + mod_perl

安装mod_perl使Perl脚本速度快

?
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 [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上具有代码缓存的注册表模式

?
12345678910111213 [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(下)

?
12345678910111213141516171819202122232425 [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脚本速度快

?
123456789101112131415161718 [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脚本更快

?
12345678910111213141516171819202122232425 [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(下)

?
1234567891011121314 [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。  

?
1234567891011121314151617181920212223242526272829303132333435 #
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(下)

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