CentOS 7.2配置Apache服务httpd(下)

一、Perl + mod_perl

安装mod_perl使Perl脚本速度快

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

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

[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]安装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] 安装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]

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

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

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

(0)

相关推荐

  • CentOS7配置httpd虚拟主机教程

    本实验旨在CentOS7系统中,httpd-2.4配置两台虚拟主机,主要有以下要求: (1) 提供两个基于名称的虚拟主机: www1.stuX.com,页面文件目录为/web/vhosts/www1:错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log: www2.stuX.com,页面文件目录为/web/vhosts/www2:错误日志为/var/log/httpd/www2/error_log,访问日志为

  • CentOS下Lighttpd Web服务器安装与配置方法

    OS: CentOS release 5.5 Lighttpd: 1.4.28 安装 sudo yum install lighttpd.i386 lighttpd-fastcgi.i386 lighttpd-mod_mysql_vhost.i386 运行 检查配置文件 lighttpd -t -f lighttpd.conf 启动lighttpd服务 lighttpd -D -f lighttpd.conf 结束lighttpd服务 CTRL+C 或者使用Linux的系统服务启动停止light

  • CentOS 7.2配置Apache服务httpd(上)

    一.Apache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞总能被很快修补.因此总合来说,其安全性还是相当高的.).被广泛使用,是最流行的Web服务器软件之一.它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中. 软件图标 二.安装Apache httpd 安装httpd以配置

  • Centos 6中编译配置httpd2.4的多种方法详解

    前言 我们使用linux的过程中,一定会用到httpd这个服务,在centos7上,默认安装的httpd就是2.4版本,大家都知道,2.4版本相对之前的版本已经做了改进,用起来更加方便,但是我们的centos6上,默认安装的版本是2.2,那么,如果我们想要在centos6上安装httpd2.4版本的话,我们要如何做呢? 本文中,小编会给大家介绍两种方法,来实现在centos6上编译安装httpd2.4版本. 方法一 分别编译法 1.下载源码并解压缩 我们可以使用yum info httpd和yu

  • CentOS 7.2配置Apache服务httpd(下)

    一.Perl + mod_perl 安装mod_perl使Perl脚本速度快 [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 out

  • Linux下Apache服务的部署和配置

    目录 1 Apache的作用 2 Apache的安装 3 apache的启用 4 apache的基本信息 5 apache的访问控制 5.1 基于客户端ip的访问控制 5.2 基于用户认证的访问控制 6 apache的虚拟主机 7 apache的加密访问 8 网页重写 9 正向代理 10 反向代理 11 apache 支持的语言 1 Apache的作用 解析网页语言,如html,php,jsp等 接收web用户的请求,并给予一定的响应 2 Apache的安装 安装apche软件:dnf inst

  • CentOS 7下配置ntp服务的方法教程

    前言 对于校园网/企业用户,如果您网内所有计算机都通过互联网同步时间,在速度和精度上都有一定的折扣,并且对互联网出口带宽也有一定的影响,对于这类用户,我们建议通过自己搭建ntp服务为内部用户提供时间同步服务. 本文介绍的是在CentOS 7下配置ntp服务的方法教程,分享出来供大家参考学习,下面来看看详细的介绍吧. 步骤如下: 安装ntp yum -y install ntp 同步时间 ntpdate pool.ntp.org 将ntp服务设为开机启动 chkconfig ntpd on 重启n

  • 如何在Linux操作系统下安装Apache服务的方法实例详解

    链接下载: 操作环境 VMware虚拟机中CentOS 7.6 SecureCRT Xftp(Xmanager) 需求分析 使用Apache服务实现访问http 操作步骤 1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /mnt 查看是否挂载 [root@localhost ~]# df -Th 2.从源码包编译安装程序 (编译安装) [root@localhost Packages]# yum -y install gcc gcc-c++ make 3.

  • 详解使用Dockerfile创建带Apache服务的CentOS Docker镜像

    使用Dockerfile创建带Apache服务的CentOS Docker镜像 在宿主机上准备的文件清单: Dockerfile #启动ssh和apache服务的角本 run.sh 以上文件都放到/root/apache_centos目录下 mkdir -p /root/apache_centos cd /root/apache_centos 基础镜像:以镜像centos为基础的开放SSH服务的镜像 [root@localhost apache_centos]# docker images RE

  • windows下配置Apache+PHP+MySQL绿色移动版

    Apache 下载地址 http://httpd.apache.org/ 我下载的是 Apache HTTP Server (httpd) 2.2.17 点击 download ,选择   httpd-2.2.17-win32-x86-openssl-0.9.8o.msi 当然,你也可以下载源代码 httpd-2.2.17-win32-src.zip,不过需要自己编译. (我们第一次选择安装版,然后配置好,以后就可以在任何地方使用了) PHP 下载地址 http://windows.php.ne

  • 在Win2003下配置Apache+php+mysql

    MySQL(安装程序这里找http://dev.mysql.com/downloads/mysql/3.23.html)Apache2(http://httpd.apache.org/)这里找! PHP4或PHP5在(http://www.php.net/downloads.php)这里找! 这里要的是PHP5的所有文件包,不是安装包.下载后直接解压到E: erver\php目录把Mysql和apache安装在E: erver\(方便移植,即使系统重新安装也不影响在新系统下的服务)这样Apach

  • apache中伪静态配置和使用(Apache虚拟主机下Discuz伪静态)

    一 打开 Apache 的配置文件 httpd.conf . 二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉 三 在 httpd.conf中添加: <IfModule mod_rewrite.c> RewriteEngine On #RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+\.html RewriteRule ^(.*?(?:index|dispbbs))-([-

  • Ubuntu下搭建与配置Nginx服务

    目录 一.Nginx nginx应用场合 二.nginx服务搭建 1.使用apt安装 2.安装后的位置: 3.启动并验证效果 4.查看版本号: 三.nginx配置文件介绍 1.nginx 文件结构 2.默认的配置 3.nginx的基本配置 四. nginx虚拟主机配置 验证配置文件: 五.nginx全局变量 六.Nginx主要配置 1.静态Http服务器配置 2.反向代理服务器配置 3.负载均衡配置 4.虚拟主机配置 一.Nginx Nginx("engine x")是一款是由俄罗斯的

随机推荐