要使Apache2虚拟主机设置更高效,可以参考以下步骤和建议:
mod_vhost_alias
和mod_rewrite
模块。在httpd.conf
文件中,取消以下行的注释:LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include conf/extra/httpd-vhosts.conf
/etc/apache2/sites-available/
目录下创建新的配置文件,例如example.com.conf
。<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
sudo a2ensite example.com.conf
sudo systemctl restart apache2
MaxClients 5000
KeepAlive On
KeepAliveTimeout 5
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/json application/javascript application/x-javascript
# 在php.ini中启用APC
apc.enabled=1
apc.enable_cli=1
# 在httpd.conf中启用静态文件缓存
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 1 month"
</IfModule>
# 示例:基于加权轮询的负载均衡配置
<Proxy balancer://mycluster>
BalancerMember http://backend1.example.com loadfactor=3
BalancerMember http://backend2.example.com loadfactor=2
</Proxy>
ProxyPass / balancer://mycluster
ProxyPassReverse / balancer://mycluster
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com
sudo ufw allow 'Apache Full'
sudo ufw enable
<Proxy *>
Order deny,allow
Deny from all
</Proxy>
ProxyPass /php-fpm http://localhost:9000/
ProxyPassReverse /php-fpm http://localhost:9000/
通过上述步骤和建议,您可以高效地配置Apache2虚拟主机,同时确保其性能和安全。