配置不同版本httpd
httpd简介

httpd简介http服务器程序httpd Apachenginxlightttpdhttpd介绍特性:1. ⾼度模块化:Core+Modules2. DSO:Dynamic Shared Ojbect动态加/卸载3. MPM:Multi-processing Module多路处理模块4. 虚拟主机:IP,Port,FQDN5. CGI:通⽤⽹关接⼝6. 反向代理(和正向代理的区别:正向代理距离客户端近,加速客户端的访问速度;反向代理距离服务器近,可以做调度,把client的请求转发到websrv集群中的某⼀个client<--->proxy(cache)<--->reverse proxy<--->websrv1,websrv2,sebsrnv)7. 负载均衡8. 路径别名9. 双向认证10. ⽀持第三⽅模块MPM⼯作模式:### prefork:多进程I/O模型,每个进程响应⼀个请求,默认模型⼀个主进程:⽣成和回收n个⼦进程,创建套接字,不响应请求多个⼦进程:⼯作work进程,每个⼦进程处理⼀个请求;系统初始时,预先⽣成多个空闲进程,等待请求,最⼤不超过1024个(原因是 ulimit -a:open files 1024)### worker:复⽤的多进程I/O模型,多进程多线程,IIS使⽤此模型⼀个主进程:⽣成m个⼦进程,每个⼦进程负责⽣个n个线程,每个线程响应⼀个请求,并发响应请求:m*n### event:事件驱动模型(worker模型的变种)⼀个主进程:⽣成m个⼦进程,每个进程直接响应n个请求,并发响应请求:m*n,有专门的线程来管理这些keep-alive类型的线程,当有真实请求时,将请求传递给服务线程,执⾏完毕后,⼜允许释放。
这样增强了⾼并发场景下的请求处理能⼒在⽀持MPM⼯作模式上,不同的httpd版本不同的⽅式:httpd-2.2版本,有不同的⼆进制程序:/usr/sbin/httpd/usr/sbin/httpd.event/usr/sbin/httpd.workerhttpd-2.4版本,有不同的模块来⽀持,好处是动态加载,不需要更换⼆进制执⾏程序,不⽤时可以动态卸载:/usr/lib64/httpd/modules/mod_mpm_event.so/usr/lib64/httpd/modules/mod_mpm_worker.so/usr/lib64/httpd/modules/mod_mpm_prefork.sohttpd安装版本:CentOS6:2.2CentOS7:2.4安装⽅式rpm:centos发⾏版,稳定,建议使⽤编译:定制或特殊需求httpd配置⽂件的组成配置格式:directive valuegrep "^[^ #]" /etc/httpd/conf/httpd.conf各个配置参数的⽤法,见管⽹/docs/2.4/mod/quickreference.htmlhttpd⼏个主要配置:1. welcome.conf/etc/httpd/conf.d/welcome.conf 此⽂件是访问⽹站找不到主页时显⽰的默认页⾯2. servertoken默认是full,有安全隐患,通过浏览器的debug模式可以看到apache的详细版本,如下图:[root@wwwCentOS6 ~]# curl -I 172.20.42.145HTTP/1.1 200 OKDate: Thu, 21 Jun 2018 11:41:27 GMTServer: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16Last-Modified: Wed, 20 Jun 2018 07:59:30 GMTETag: "12-56f0e2db429bf"Accept-Ranges: bytesContent-Length: 18Content-Type: text/html; charset=UTF-8新建/etc/httpd/conf.d/user.conf,增加Servertokens prod[root@wwwCentOS6 ~]# curl -I 172.20.42.145HTTP/1.1 200 OKDate: Thu, 21 Jun 2018 11:43:16 GMTServer: ApacheLast-Modified: Wed, 20 Jun 2018 07:59:30 GMTETag: "12-56f0e2db429bf"Accept-Ranges: bytesContent-Length: 18Content-Type: text/html; charset=UTF-83. 多端⼝⽀持在上述的user.conf中,增加Listen 8080如果更改默认的80为别的端⼝,需要更改主配置⽂件httpd.conf的Listen为不同的端⼝,同时Listen可以绑定特定IP,如Listen 12.34.56.78:804. 持久连接KeepAlive默认是on,时间是5秒。
如何在Linux上安装和配置Apache服务器

如何在Linux上安装和配置Apache服务器Apache是一个流行的开源Web服务器软件,被广泛用于搭建和管理网站。
在Linux系统上安装和配置Apache服务器是一项基本的技能。
本文将介绍如何在Linux操作系统下安装和配置Apache服务器。
一、安装Apache服务器首先,打开终端窗口,并使用以下命令来更新软件包列表:sudo apt update接下来,使用以下命令来安装Apache服务器:sudo apt install apache2安装过程中,您需要输入管理员密码进行确认。
安装完成后,Apache服务器将自动启动。
二、配置Apache服务器1. 配置文件路径Apache的配置文件位于/etc/apache2目录下。
在终端中使用cd命令进入该目录:cd /etc/apache22. 主配置文件编辑主配置文件apache2.conf,使用以下命令打开该文件:sudo nano apache2.conf在打开的文件中,可以找到一些常用的配置选项,您可以根据需要进行修改。
例如,您可以更改服务器名称、监听端口等。
3. 虚拟主机配置虚拟主机配置允许您在同一台服务器上运行多个网站。
默认情况下,Apache服务器已经为您配置了一个默认的虚拟主机。
如果您想添加更多的虚拟主机,您可以在/etc/apache2/sites-available目录下创建配置文件。
使用以下命令进入该目录:cd /etc/apache2/sites-available使用以下命令创建一个新的虚拟主机配置文件,例如mywebsite.conf:sudo nano mywebsite.conf在此配置文件中,您可以设置您的网站的域名、目录路径和其他相关设置。
保存并关闭文件。
接下来,使用以下命令启用新的虚拟主机配置文件:sudo a2ensite mywebsite.conf最后,重新加载Apache服务器以应用配置更改:sudo service apache2 reload您的新虚拟主机现在应该已经生效了。
APACHE安装配置说明

APACHE安装配置说明⼀、软件下载⼆、环境检查# rpm -qa|grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3# rpm -qa|grep sslopenssl-devel-0.9.8b-10.el5openssl-0.9.8b-10.el5如果需要依赖包,安装其对应的devel包即可,此处仅⽤到zlib和ssl。
另,如果有httpd包,要先卸载掉或停⽌其服务。
三、编译安装1、针对安装⽬的的说明(来⾃INSTALL⽂件)如果是开发者则使⽤此选项,--with-included-apr利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产⽣的不匹配;如果从⼦版本编译apache,要先运⾏buildconf(需要Python,GNU autoconf和libtool),然后运⾏configure。
发⾏包不⽤。
如果要在FreeBSD5.4之前编译时包含apache的threaded MPM,需要使⽤--enable-threads和--with-mpm 参数在Mac上编译⼦版本,要使⽤GNU Libtool 1.4.2及以上版本2、关于SSL加密和正则表达式(来⾃⽂件README)Apache2.0及以上版本在⽬录modules/ssl/下包含了mod_ssl模块⽤于配置和监听ssl⽹络接⼝的连接。
(另外,⼀些apr-util版本在⽬录srclib/apr-util/ssl/下提供了ssl⽹络接⼝)带有单词crypto的包的名字,可能包含openssl加密库的⽬标代码。
如果apache的加密功能不理想或者要排除再重分配,则可以使⽤包的名字包含nossl的发布包。
Apache使⽤PCRE包包含的正则表达式。
3、对configure参数的说明配置帮助表:-h, --help显⽰帮助信息display this help and exit--help=short ⽤short参数将只显⽰正在运⾏的当前脚本的选项,⽽不能列出适⽤于Apache配置脚本所运⾏的外部配置脚本的选项display optionsspecific to thispackage--help=recursive 使⽤recursive参数将显⽰所有程序包的简短描述display the shorthelp of all theincluded packages-V, --version显⽰版本display version information and exit-q, --quiet, --silent不显⽰checking……信息do notprint`checking...' messages--cache-file=FILE在指定⽂件中存储测试结果cache test results in FILE [disabled]-C, --config-cache 在⽂件config.cache中存储测试结果alias for `--cachefile=config.cache'-n, --no-create configure脚本运⾏结束后不输出结果⽂件,常⽤于正式编译前的测试。
CentOS下Apache、PHP、MySQL安装配置

1. 安装Apahce, PHP,以及php连接mysql库组件。
yum -y install httpd php php-mysql2. 配置开机启动服务/sbin/chkconfig httpd on [设置apache服务器httpd服务开机启动]/sbin/chkconfig --add mysqld [在服务清单中添加mysql服务]/sbin/chkconfig mysqld on [设置mysql服务开机启动]/sbin/service httpd start [启动httpd服务,与开机启动无关]3.//安装apache扩展yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql//安装php的扩展yum install php-gdyum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc4.apache的配置文件是/etc/httpd/conf下modules放在/usr/lib/httpd下php的配置文件在/etc/php.d/下和/etc/php.iniphp的modules放在/usr/lib/php/modules下apache 默认支持php配置zendoptimizer-3.3.3 cd 目录install 安装过程指定httpd控制文件/etc/rc.d/init.d/httpd路径/etc/httpd配置cronolog进行日志分割下载/download/index.html./configure --prefix /usr/local/cronologmakemake install即可httpd-vhost.conf中的日志设置项可以为:ErrorLog “|/usr/local/cronolog/sbin/cronolog/home/www/apache_logs/-error_log%Y%m%d" CustomLog |/usr/local/cronolog/sbin/cronolog /home/www/apache_logs/-access_log%Y%m%d"combinedmount -t nfs 192.168.0.252:/home/www/wwwroot/bbs /home/www/wwwroot/bbs出现:Document root must be a directory解决办法?关闭selinux setenforce 01.前言CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。
PHP5.4.6配置教程(Win7+apache2.4.3+phpMyAdmin3.5.2.2+ZF2.0.0)

PHP5.4.6配置教程(Win7+Apache2.4.3+phpMyAdmin3.5.2.2+ZF2.0.0)By 霡霂(盟军特战队)我的微博:/maimuf/maimuf(你懂的,点击收听。
)解释:原来的那一份被我删除了,这一份是我略微修改的版本。
删除的原因:由于使用百度的文档更新功能后,文档管理混乱,被我误删了,无论如何都无法恢复数据,只能重新上传。
对于百度文库的开发团队真是失望,本人推荐使用新浪爱问和新浪微盘。
系统环境:Windows 7PHP版本:PHP5.4.6(推荐而已)Apache2.4.3(with openssl 1.0.1c,Zip包安装)MySQL(GA)5.5.7phpMyAdmin3.5.2.2Zend Framework2.0.0(新版本,新特性,新用法)Zend Studio 9.0.X为不同的项目配置不同的虚拟主机,为phpMyAdmin配置虚拟主机PS:另附Zend Server便捷开发配置(预告)Zend Studio9.0.X相关内容。
PHP中文配置教程,新颖、前卫,进取,与时俱进。
声明:1、本文所有软件安装配置均由本人,亲自,多次测试。
力求做到版本兼容。
2、本教程的创作区别于现有国产PHP书籍和教材写作时,在老版本书籍中盲目东摘西抄,不知对错和所以然的不负责任的恶心行为。
3、教程中所有配置命令,均来自于Apache手册、Zend Server(CE)自动配置文件、或Fedora 17下PHP环境配置。
但是经过测试,绝对为Windows 7开发环境定制。
4、本教程版权所有,严禁任何人以任何形式进行摘抄和用于商业出版。
违者必追究法律责任。
欢迎出版社洽谈,出版书籍事宜。
5、任何网络转载,请注明出处。
违者追究责任。
6、本文,仅在百度文库、百度Fedora吧、以及新浪共享同步更新,敬请期待。
7、阅读时,请认真仔细,切忌心焦气躁。
8、本文请勿用于生产环境,任何未经过专门优化的运行环境都是危险的。
http2.2配置

http2.2配置http: 超⽂本传输协议,⼯作在应⽤层CentOS 6程序环境:httpd-2.2 配置⽂件: /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf 检查配置语法: httpd –t service httpd configtest 服务脚本:/etc/rc.d/init.d/httpd 脚本配置⽂件:/etc/sysconfig/httpd 服务控制和启动: chkconfig httpd on|off service {start|stop|restart|status|configtest|reload} httpd 站点⽹页⽂档根⽬录: /var/www/html 模块⽂件路径: /etc/httpd/modules /usr/lib64/httpd/modules 主程序⽂件: /usr/sbin/httpd /usr/sbin/httpd.worker /usr/sbin/httpd.event 主进程⽂件: /etc/httpd/run/httpd.pid ⽇志⽂件⽬录: /var/log/httpd access_log: 访问⽇志 error_log:错误⽇志 帮助⽂档包: httpd-manual httpd配置⽂件的组成: grep "Section" /etc/httpd/conf/httpd.conf Section 1: Global Environment Section 2: 'Main' server configuration Section 3: Virtual Hosts 配置格式:directive value 变量值 directive: 不区分字符⼤⼩写 value: 为路径时,是否区分⼤⼩写,取决于⽂件系统MPM⼯作模式: prefork:多进程I/O模型,每个进程响应⼀个请求,默认模型 ⼀个主进程:⽣成和回收n个⼦进程,创建套接字,不响应请求 多个⼦进程:⼯作work进程,每个⼦进程处理⼀个请求;系统初始时,预先⽣成多个空闲进程,等待请求,最⼤不超过1024个 worker:复⽤的多进程I/O模型,多进程多线程,IIS使⽤此模型 ⼀个主进程:⽣成m个⼦进程,每个⼦进程负责⽣个n个线程,每个线程响应⼀个请求,并发响应请求:m*n event:事件驱动模型(worker模型的变种) ⼀个主进程:⽣成m个⼦进程,每个进程直接响应n个请求,并发响应请求:m*n,有专门的线程来管理这些keep-alive类型的线程,当有真实请求时,将请求传递给服务线程,执⾏完毕后,⼜允许释放。
Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册

Linux平台Apache双机高可用集群+ Tomcat负载均衡集群配置手册在这个配置手册中,使用的操作系统和软件清单如下:操作系统:RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装)软件:jdk-1_5_0_15-linux-amd64.binTomcat5.5.26httpd-2.0.63.tar.gzjakarta-tomcat-connectors-jk2-src-current.tar.gzipvsadm-1.24.tar.gzlibnet.tar.gzheartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。
本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。
jdk-1_5_0_15-linux-amd64.binJAVA环境包使用的是64位1.5版Tomcat版本为公司指定的5.5版本Apache为2.0.63版jakarta-tomcat-connectors-jk2-src-current.tar.gz是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载ipvsadm-1.24.tar.gzlibnet.tar.gz这两个是用于2台Apache服务器虚拟一个IP地址使用heartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm这3个软件是用于2台Apache服务器之间的心跳检测结构图Apache1以以以以以Tomcat1Tomcat2Apache22台Tomcat服务器使用Tomcat软件可以自己做集群,2台Apache服务器需要其他的软件实现虚拟服务器功能,工作站访问虚拟IP地址访问2台Apache服务器,再通过Apache服务器访问Tomcat服务器第3 页总13 页1.安装JAVA环境包1)输入命令:./ jdk-1_5_0_15-linux-amd64.bin执行完毕后,会在当前目录下生成一个JDK-1.5.0_15的文件夹2)在 /usr/local/下新建一个名字为JAVA文件夹,将个JDK-1.5.0_15的文件夹拷入到该文件夹下3)设置环境变量。
linux-Apache 配置

Apache 配置一、安装Apache下载地址:/1. 安装Apache# tar zxvf httpd-2.2.11.tar.gz# cd httpd-2.2.11# ./configure --prefix=/usr/local/apache --enable-so//编译时加上加载模块参数--enable-so# make# make install2. 配置系统启动时自动启动Apache服务。
# vi /etc/rc.d/rc.local//在rc.local上加入一行/usr/local/apache/bin/apachectl –k start。
二、配置Apache1. 修改httpd.conf文件# vi /usr/local/apache/conf/httpd.conf1)设置根目录的路径根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/u sr/local/apache”。
命令如下:2)设置监听IP地址及端口号默认侦听本机所有IP地址的TCP80端口,命令如下:Listen 80用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。
比如:Listen 192.168.99.9:80Linsten 172.16.0.20:80803)设置系统管理员E-m ail使用ServerAdmin参数设置管理员E-m ail,比如管理员的Email地址为root@guoxuemin. cn:4)设置服务器主机的名称参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:5)设置主目录的路径用户可以使用参数Document Root配置服务器主目录默认路径,比如,主目录路径为:6)设置默认文件Apache的默认文件名为index.ht ml,可以使用Directory Index参数来配置,比如,将ind ex.php设置为默认文件名:7)测试:打开浏览器,输入地址:http://192.168.99.9,可以打开站点了:2. 配置目录权限使用<Directory 目录路径>和</Directory>设置目录的权限。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分别使用2.22.4实现
1.建立httpd服务
a.提供实现两个基于名称的虚拟主机www1,www2;有单独的错误日志和访问日志
b.通过www1的/server-status提供状态信息,且之允许tom访问
c.www2不允许192.168.0.0/24的任意主机访问
2.为上面的两个虚拟主机提供https服务
第一部分centos6httpd2.2
(1)创建虚拟主机www1和www2,提供单独的错误日志和访问日志编辑/etc/httpd/conf/httpd.conf
1.注释main设置
2.开启虚拟主机
3.编辑虚拟主机配置文件
4.创建所需要的文件夹和文件
5.检查语法
6.重读文件或者重启服务
出错
Permission denied,selinux导致的问题
直接关掉
重启成功
(2)通过www1的/server-status提供状态信息,且之允许tom访问www2不允许192.168.0.0/24的任意主机访问
首先是www1通过/server-status提供状态信息
1.确认status模块有成功的装载
2.编辑虚拟主机www1的配置文件
参考主机配置文件中的片段
测试
172.16.251.153成功
失败
3.不允许192.168.0.0/24的任意主机访问www2
编辑www2的配置文件
参考主配置文件
完成
(3)为上面两个虚拟主机提供https服务
1.安装mod_ssl模块
确认模块加载成功
2.编辑配置文件/etc/httpd/conf.d/virtualhost1.conf
另一个也照葫芦画瓢,在后边添加三个SSL行
(注意:使用vim的r!功能可以更加方便的添加)Httpd-t
没有问题后reload
测试,直接使用openssl s_client工具测试
成功
第二部分centos7httpd2.4
(1)建立httpd服务
a.提供实现两个基于名称的虚拟主机www1,www2;有单独的错误日志和访问日志
b.通过www1的/server-status提供状态信息,且之允许tom访问
c.www2不允许192.168.0.0/24的任意主机访问
Centos7创建虚拟主机步骤还要更加简单些,httpd2.4不需要去httpd.conf中去开启NameVirtualHost直接编写编辑文件就好
1.首先编写配置文件
另一个和这个几乎相同
2.www1提供server-status服务只允许172.16.7.3使用编辑www1的配置文件
直接在里边添加这几行就行,httpd.conf里边没有参考了
在www2的配置中加上下面几行
2.为上面的两个虚拟主机提供https服务
两个全部都这么配置就好,不过之前要先搭建私人ca申请ca证书以及准备私钥。