CentOS Apache服务器安装与配置
http://www.linuxidc.com/Linux/2014-01/95256.htm
一、安装Apache程序,一般有三种安装方式:
1.直接网络安装;
2.下载rpm包,上传至服务器进行安装;
3.通过原代码编译安装;
yum -y install httpd
rpm -qa | grep httpd
——————————
启动/停止/重新启动/状态
service httpd start
service httpd stop
service httpd restart
service httpd status
pstree | grep httpd //验证服务是否启动,比较少用;
启动时,如果提示如下信息:
正在启动 httpd:httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain for ServerName
编辑/etc/httpd/conf/httpd.conf
找到如下内容:
#ServerName www.example.com:80
更改为
ServerName localhost:80
再重启一下Apache服务即可;
——————————
测试安装配置是否成功
http://ip地址
如果出来:Apache 2 Test Page powered by CentOS 说明就OK了,简单吧;
如果打不开,那应该是iptables的问题;
编辑vi /etc/sysconfig/iptables
添加如下内容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
然后重启一下iptables服务可;service iptables restart
——————————
二基本配置:
1.针对主机环境的设置项目
编辑/etc/httpd/conf/httpd.conf
KeepAlive off
更改为
KeepAlive on
MaxKeepAliveRequests 100
更改为
MaxKeepAliveRequests 500 //为了增进效率则可以改大一点;
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
两个执行模块,默认使用prefork模块,如果想使用worker模块编辑如下文件:
/etc/sysconfig/httpd
找下如下内容:
#HTTPD=/usr/sbin/httpd.worker
更改为
HTTPD=/usr/sbin/httpd.worker
然后重启一下apache服务即可;
——————————
2.针对中文Big5编码语言
编辑/etc/httpd/conf/httpd.conf
找到如下内容:
AddDefaultCharset UTF-8
更改为
#AddDefaultCharset UTF-8
或者
AddDefaultCharset gb2313 //根据实际情况设置;
找到如下内容:
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
更改为
LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-TW
然后重启一下apache服务即可;
——————————
3.针对首页权限相关设置
编辑/etc/httpd/conf/httpd.conf
找到如下内容:
Options Indexes FollowSymLinks
更改为
Options FollowSymLinks MultiViews
然后重启一下apache服务即可;
——————————
进阶配置:
网站IP被别人的域名非法指向了?Apache如何禁止恶意域名指向你的服务器IP:
解决办法一:
新建一个虚拟主机:
<VirtualHost *:80>
ServerName 171.111.158.91 //更改为您自己服务器的IP地址;
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
解决办法二:
新建第一个虚拟主机(默认没有定义的域名访问到的是第一个虚拟主机的内容):
<VirtualHost *:80>
DirectoryIndex index.html index.htm index.php
DocumentRoot /var/www/html/test //定义一个空目录,或者在该目录下放一个显示您需要注明的网站页面;
<Directory /var/www/html/test>
ServerName 171.111.158.91 //更改为您自己服务器的IP地址;
//目录同上;
Order allow,deny
allow from all
</Directory>
</VirtualHost>
……
比如我们以IP192.168.0.3配置两个虚拟主机。
首先编辑 /etc/httpd/conf/httpd.conf配置文件
vi /etc/httpd/conf/httpd.conf
然后添加如下代码至文件底部:
NameVirtualHost 103.56.17.204
<virtualhost 103.56.17.204:80>
ServerAdmin admin@95ty.com
DocumentRoot /var/www/html/95ty.com
ServerName www.95ty.com
ErrorLog logs/dummy-95ty.com-error_log
CustomLog logs/dummy-95ty.com-access_log common
</virtualhost>
<virtualhost 103.56.17.204>
ServerAdmin admin@website3.com
DocumentRoot /var/www/html/website3
ServerName www.website3.com
ErrorLog logs/dummy- website3-error_log
CustomLog logs/dummy- website3-access_log common
</virtualhost>
如果你有多个IP,则继续按以上代码添加,只需要修改103.56.17.204成你的IP即可。
错误文档的位置
/var/log/httpd/