Apache 简单实践

# uname -rm           #检查内核版本

2.6.32-358.el6.x86_64 x86_64

# cat /etc/redhat-release  #查看发行版本

CentOS release 6.4 (Final)

# rpm -qa gcc gcc-c++ #检查是否安装编译工具

gcc-c++-4.4.7-3.el6.x86_64

gcc-4.4.7-3.el6.x86_64

# yum isntall gcc gcc-c++ -y #如未安装编译工具,就使用Yum安装

#wget http://mirrors.aliyun.com/apache/httpd/httpd-2.2.31.tar.gz  #下载apache

#tar xf httpd-2.2.31.tar.gz #解压

#cd httpd-2.2.31 #进入解压目录

#./configure --prefix=/application/apache \  #编译

> --enable-deflate \

> --enable-expires \

> --enable-headers \

> --enable-modules=most \

> --enable-so \

> --with-mpm=worker \

> --enable-rewrite

# make && make install

# ln -s /application/apache2.2.31/ /application/apache #创建一个软连接

#mkdir /var/html/{www,bbs} -p #准备测试html

#for name in www  bbs;do echo "http://$name.rosedata.com" >/var/html/$name/index.html;done

# /application/apache/bin/apachectl start  #启动apache服务

httpd: apr_sockaddr_info_get() failed for client132

httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName

#这个报错暂时不用理会,编辑apache配置文件之后就会修正

# vim /application/apache/conf/httpd.conf  #修改配置文件

Include conf/extra/httpd-mpm.conf

Include conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-default.conf

ServerName 127.0.0.1

<Directory "/var/html">

Options -Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

# vim /application/apache/conf/extra/httpd-vhosts.conf  #编辑虚拟主机(基于域名访问)

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "/var/html/www"    #

ServerName  www.rosedata.com

ServerAlias rosedata.com

ErrorLog "logs/dummy-host.example.com-error_log"

CustomLog "logs/dummy-host.example.com-access_log" common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "/var/html/bbs"

ServerName bbs.rosedata.com

ErrorLog "logs/dummy-host2.example.com-error_log"

CustomLog "logs/dummy-host2.example.com-access_log" common

</VirtualHost>

#下载安装cronolog-1.6.2.tar.gz

#tar xf cronolog-1.6.2.tar.gz

#cd cronolog-1.6.2

#./configure

#make && make install

# vim /application/apache/conf/extra/httpd-vhosts.conf  #编辑修改log配置

ErrorLog "|/usr/local/sbin/cronolog logs/wwww-error_%Y%m%d.log"

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/www-access_%Y%m%d.log" combined

# /application/apache/bin/apachectl graceful #平滑重启

#在windows 主机上修改hosts文件

#C:\Windows\System32\drivers\etc\hosts

192.168.234.131 www.rosedata.com bbs.rosedata.com

# more /application/apache/logs/www-access_20160525.log  #查看访问log

# awk ‘{print $1}‘ /app/logs/www-access_20140525.log |sort|uniq -c|sort -rn #对访问IP统计排序

# vim include/ap_release.h  #编辑该文件可以修改响应请求中的信息,但是需要在编译之前修改

#define AP_SERVER_BASEVENDOR "Apache Software Foundation"

#define AP_SERVER_BASEPROJECT "Apache HTTP Server"

#define AP_SERVER_BASEPRODUCT "Apache"

#define AP_SERVER_MAJORVERSION_NUMBER 2

#define AP_SERVER_MINORVERSION_NUMBER 2

#define AP_SERVER_PATCHLEVEL_NUMBER   31

#define AP_SERVER_DEVBUILD_BOOLEAN    0

时间: 2024-08-29 06:09:07

Apache 简单实践的相关文章

Android 设计随便说说之简单实践(合理组合)

上一篇(Android 设计随便说说之简单实践(模块划分))例举了应用商店设计来说明怎么做模块划分.模块划分主要依赖于第一是业务需求,具体是怎么样的业务.应用商店则包括两个业务,就是向用户展示applist,和下载app.第二是运行环境,在Android平台,有androidsdk提供socket等API支持.因此将模块大体换发了5个模块.(当然了图片加载可以额外提出,用开源组件去做,但是这里为了说明如何设计,暂不提到.还有下载也可以利用开源组件)分别是如下: 模块1 UI模块,负责展示信息和用

SQL知识以及SQL语句简单实践

综述 大家都知道SQL是结构化查询语言,是关系数据库的标准语言,是一个综合的,功能极强的同时又简洁易学的,它集级数据查询(Data Quest),数据操纵(Data Manipulation),数据定义(Data Definition),数据控制(Data Control)于一体 即: SQL语言包含4个部分: ※ 数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句 ※ 数据操作语言(DML),例如:INSERT(插入).UPDATE(修改).DELETE(删除)语句 ※ 数

Mysql 备份恢复的简单实践

一.备份: 进行mysql的安装目录: 使用./mysqldump -u root -h 127.0.0.1 -P 3306 -p mysql>trymysql.sql 输入密码,备份成功. 二.恢复 进行mysql. 创建数据库 create database trymysql; 进入数据库 use trymysql ; 恢复 source trymysql.sql Mysql 备份恢复的简单实践

GDB 程序调试简单实践

用了好久的GCC/G++ 却一直都没用过GDB调试过程序,有时程序不是很大,一般有错,直接看编译器编译结果就差不多知道错在哪儿了,或者使用codeblocks单步调试,甚至回到windows下面调试,但是总是不太方便,因此有必要看一下GDB调试方法和基本步骤. 下面是一个简单的演示: 首先创建一个有错误的代码,如下: 这个程序很简单,目的是接受用户的输入,并将用户的输入回应输出来. 但是这个程序的第17行有个错误,使用了未初始化的字符指针name,因此编译运行后会出现段错误,如下: 下面利用GD

ZooKeeper分布式锁简单实践

ZooKeeper分布式锁的实现原理 在分布式解决方案中,Zookeeper是一个分布式协调工具.当多个JVM客户端,同时在ZooKeeper上创建相同的一个临时节点,因为临时节点路径是保证唯一,只要谁能够创建节点成功,谁就能够获取到锁.没有创建成功节点,就会进行等待,当释放锁的时候,采用事件通知给客户端重新获取锁资源.如果请求超时直接返回给客户端超时,重新请求即可. 代码实现为了更好的展现效果,我这里设置每个线程请求需要1s,请求超时时间为30s. 首先我们先写一个测试类,模拟多线程多客户端请

php各种设计模式简单实践思考

前言 我一直觉得什么框架,版本,甚至语言对于一个coder来说真的不算什么,掌握一个特别高大上的一个框架或者是一个新的,少众的语言真的不算什么,因为你可以,我要花时间也可以,大家都是这样的.所以基本的显得额外重要,即是算法和数据结构,再就是好的设计模式了,,,听过一句话,是好的数据结构是让计算机更快的工作,而一个好的设计模式则是使开发者工作的更快! 单例模式 单例模式特点 $_instance 必须声明为静态的私有变量 构造函数和克隆函数必须声明为私有的,这是为了防止外部程序 new 类从而失去

apache简单负载

Apache负载均衡 一般来说,负载均衡就是将客户端的请求分流给后端的各个真实服务器,达到负载均衡的目的.还有一种方式是用两台服务器,一台作为主服务器(Master),另一台作为热备份(Hot Standby),请求全部分给主服务器,在主服务器当机时,立即切换到备份服务器,以提高高可用. 必须有此模块: LoadModuleproxy_module modules/mod_proxy.so LoadModuleproxy_balancer_module modules/mod_proxy_bal

Linux软件包安装2——基于red hat系列的rpm命令安装及apache简单搭建httpserver

rpm命令管理 rpm包是基于red hat系列的二进制安装包.常见的red hat系列的有red hat enterprise Linux.centos.fedora等Linux发行版本 首先介绍一下rpm包的命名方式: httpd-2.2.15-39.el6.centos.i686.rpm   在介绍Linux的rpm命令之前,先说明两个概念: 包全名:类似于上述的完整的命名方式 httpd-2.2.15-39.el6.centos.i686.rpm 包名:httpd   1.rpm安装.升

WCF总结——宏观认识和简单实践

1.WCF是什么 WCF常和分布式系统以及面向服务(SOA)联系在一起,它可以使分布在不同服务器上的服务之间互相调用,访问.它提供了通信的模型和技术. 2.WCF基本概念 契约: 服务契约:可以看做是接口 数据契约:定义了在通信过程中用到的数据类型 服务:服务契约的实现类 宿主(托管):只有上面的东西,"服务"是不能运行和启动的.上述的契约和服务必须借助一个可执行的程序(Windows窗体应用程序,控制台应用程序等),才能启动服务,供外界调用 客户端:调用服务的一端. 3.WCF基本原