设为首页 收藏本站
查看: 776|回复: 0

[经验分享] apache虚拟主机配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-12 09:46:00 | 显示全部楼层 |阅读模式
一,基本配置:

ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。
PidFile logs/httpd.pid #第一个httpd进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName www.clusting.com:80 #主站点名称。
ServerAdmin admin@clusting.com #管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。

1,以下是对主站点的目录进行访问控制:
<Directory "/mnt/web/clusting">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

2,在上面这段目录属性配置中,主要有下面的选项:
Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:
ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

3,AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):
None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。
All: 在.htaccess文件中可以使用所有的指令。
Order:控制在访问时Allow和Deny两个访问规则哪个优先:
Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。
Deny:拒绝访问的主机列表。
DirectoryIndex index.html index.htm index.php #主页文件的设置(本例将主页文件设置为:index.html,index.htm和index.php)

二,服务器的优化 (MPM: Multi-Processing Modules)
apache2主要的优势就是对多处理器的支持更好,在编译时同过使用--with-mpm选项来决定apache2的工作模式。通过httpd -l命令列出apache的工作方式:

1,prefork:如果httpd -l列出prefork.c,则需要对下面的段进行配置:
<IfModule prefork.c>
ServerLimit 2000 #默认的MaxClient最大是256个线程,如果想设置更大的值,就的加上ServerLimit这个参数。生效前提:必须放在其他指令的前面
MaxClients 1500 #最大并发连接数。
StartServers 10 #启动apache时启动的httpd进程个数。
MinSpareServers 10 #服务器保持的最小空闲进程数。
MaxSpareServers 15 #服务器保持的最大空闲进程数。
MaxRequestsPerChild 10000 #每个子进程被请求服务多少次后被kill掉。0表示不限制。
</IfModule>

将MaxRequestsPerChild设置成非零值有两个好处:
1).可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2).给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

2,worker:如果httpd -l列出worker.c,则需要对下面的段进行配置:
<IfModule worker.c>
StartServers 4 #启动apache时启动的httpd进程个数。
MaxClients 300 #最大并发连接数。
MinSpareThreads 25 #服务器保持的最小空闲线程数。
MaxSpareThreads 75 #服务器保持的最大空闲线程数。
ThreadsPerChild 25 #每个子进程的产生的线程数。
MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。0表示不限制。
</IfModule>

该模式是由线程来监听客户的连接。当有新客户连接时,由其中的一个空闲线程接受连接。服务器在启动时启动两个进程,每个进程产生的线程数是固定的(ThreadsPerChild决定),因此启动时有50个线程。当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。

三,代理和跳转

1,ProxyPass /aa/ http://www.test.com/
   ProxyPassReverse  /aa/ http://www.test.com/
没有反向代理设置时,访问http://www.test.com/aa/bb,如果www.example.com对请求进行了redirect至http://www.example.com/cc,那么,客户端就会绕过反向代理,进而访问http://www.test.com/aa/cc。如果设置反向代理,则会在转交HTTP重定向应答到客户端之前调整它为http://www.test.com/aa/bb/cc,即是在原请求之后追加上了redirect的路径.

2,! 指令当你不想对某个子目录进行反向代理的时候就有用了,例如:
ProxyPass /aa/ !
ProxyPass / http://www.test.com

3,跳转以.html结尾的域名
RewriteEngine on
RewriteRule ^/(.*).html$ http://www.test.com/ [L,R]


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-24722-1-1.html 上篇帖子: apache配置多个虚拟主机 下篇帖子: 启动apache服务出现Job failed. See system logs and 'systemctl status' for details. . 虚拟主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表