我们在搭建网站时,为了方便管理,常常会选用 PHP+MySQL 这种架构,Web 引擎可选择 Apache 或是 Nginx。今天杜老师说一下,选择 Apache 时,主配置文件和站点配置文件如何改写!
Nginx 主配置文件
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 
 | ServerRoot "/www/server/apache"Listen 80
 Listen 443
 LoadModule authn_file_module modules/mod_authn_file.so
 LoadModule authn_core_module modules/mod_authn_core.so
 LoadModule authz_host_module modules/mod_authz_host.so
 LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
 LoadModule authz_user_module modules/mod_authz_user.so
 LoadModule authz_core_module modules/mod_authz_core.so
 LoadModule access_compat_module modules/mod_access_compat.so
 LoadModule auth_basic_module modules/mod_auth_basic.so
 LoadModule reqtimeout_module modules/mod_reqtimeout.so
 LoadModule ext_filter_module modules/mod_ext_filter.so
 LoadModule filter_module modules/mod_filter.so
 LoadModule deflate_module modules/mod_deflate.so
 LoadModule mime_module modules/mod_mime.so
 LoadModule log_config_module modules/mod_log_config.so
 LoadModule env_module modules/mod_env.so
 LoadModule expires_module modules/mod_expires.so
 LoadModule headers_module modules/mod_headers.so
 LoadModule setenvif_module modules/mod_setenvif.so
 LoadModule version_module modules/mod_version.so
 LoadModule remoteip_module modules/mod_remoteip.so
 LoadModule proxy_module modules/mod_proxy.so
 LoadModule proxy_connect_module modules/mod_proxy_connect.so
 LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
 LoadModule proxy_http_module modules/mod_proxy_http.so
 LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
 LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
 LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
 LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
 LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
 LoadModule proxy_express_module modules/mod_proxy_express.so
 LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
 LoadModule ssl_module modules/mod_ssl.so
 LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
 LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
 LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
 LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
 LoadModule mpm_event_module modules/mod_mpm_event.so
 oadModule unixd_module modules/mod_unixd.so
 LoadModule status_module modules/mod_status.so
 LoadModule autoindex_module modules/mod_autoindex.so
 LoadModule dir_module modules/mod_dir.so
 LoadModule alias_module modules/mod_alias.so
 LoadModule rewrite_module modules/mod_rewrite.so
 LoadModule http2_module modules/mod_http2.so
 <IfModule http2_module>
 ProtocolsHonorOrder On
 Protocols h2 http/1.1
 </IfModule>
 <IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
 SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar|apk|7z|so|iso|app|doc|ppt|xls|wps|dll)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm|mpeg|asf|wmv|wma|3gp|mkv|flv|f4v|webm|mpg|acc)$ no-gzip dont-vary
 AddOutputFilterByType DEFLATE text/*
 AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
 BrowserMatch ^Mozilla/4 gzip-only-text/html
 BrowserMatch ^Mozilla/4.0[678] no-gzip
 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 </IfModule>
 <IfModule unixd_module>
 User www
 Group www
 </IfModule>
 ServerAdmin you@example.com
 ServerName 0.0.0.0:80
 <Directory />
 AllowOverride All
 Require all granted
 </Directory>
 <IfModule dir_module>
 DirectoryIndex index.html index.htm index.php
 </IfModule>
 <Files ".ht*">
 Require all denied
 </Files>
 ErrorLog "/www/wwwlogs/error_log"
 LogLevel warn
 <IfModule log_config_module>
 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
 LogFormat "%h %l %u %t \"%r\" %>s %b" common
 <IfModule logio_module>
 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
 </IfModule>
 CustomLog "/www/wwwlogs/access_log" common
 </IfModule>
 <IfModule alias_module>
 ScriptAlias /cgi-bin/ "/www/server/apache/cgi-bin/"
 </IfModule>
 <IfModule cgid_module>
 </IfModule>
 <Directory "/www/server/apache/cgi-bin">
 AllowOverride All
 Options None
 Require all granted
 </Directory>
 <IfModule mime_module>
 TypesConfig conf/mime.types
 AddType application/x-compress .Z
 AddType application/x-gzip .gz .tgz
 AddType application/x-httpd-php .php
 AddType application/x-httpd-php-source .phps
 </IfModule>
 Include conf/extra/httpd-mpm.conf
 Include conf/extra/httpd-vhosts.conf
 Include conf/extra/httpd-default.conf
 <IfModule proxy_html_module>
 Include conf/extra/proxy-html.conf
 </IfModule>
 <IfModule ssl_module>
 SSLRandomSeed startup builtin
 SSLRandomSeed connect builtin
 </IfModule>
 TraceEnable off
 IncludeOptional /www/server/panel/vhost/apache/*.conf
 ServerLimit 1600
 
 | 
注意:以上为 Apache 主配置文件参考,这里假设已安装相关的模块。日志目录为/www/wwwlogs/,Nginx 安装目录/www/server/apache/,站点信息配置文件目录为/www/server/panel/vhost/apache/。
站点配置文件
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 
 | <VirtualHost *:80>ServerAdmin webmaster@example.com
 DocumentRoot "/www/wwwroot/7bu.top/public"
 ServerName e0a2fcea.7bu.top
 ServerAlias 7bu.top www.7bu.top
 ErrorLog "/www/wwwlogs/7bu.top-error_log"
 CustomLog "/www/wwwlogs/7bu.top-access_log" combined
 <Files ~ (\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)$>
 Order allow,deny
 Deny from all
 </Files>
 <FilesMatch \.php$>
 SetHandler "proxy:unix:/tmp/php-cgi-72.sock|fcgi://localhost"
 </FilesMatch>
 <Directory "/www/wwwroot/7bu.top/public">
 SetOutputFilter DEFLATE
 Options FollowSymLinks
 AllowOverride All
 Require all granted
 DirectoryIndex index.php index.html index.htm default.php default.html default.htm
 </Directory>
 </VirtualHost>
 <VirtualHost *:443>
 ServerAdmin webmasterexample.com
 DocumentRoot "/www/wwwroot/7bu.top/public"
 ServerName SSL.7bu.top
 ServerAlias www.7bu.top 7bu.top
 ErrorLog "/www/wwwlogs/7bu.top-error_log"
 CustomLog "/www/wwwlogs/7bu.top-access_log" combined
 SSLEngine On
 SSLCertificateFile /www/server/panel/vhost/cert/7bu.top/fullchain.pem
 SSLCertificateKeyFile /www/server/panel/vhost/cert/7bu.top/privkey.pem
 SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5
 SSLProtocol All -SSLv2 -SSLv3 -TLSv1
 SSLHonorCipherOrder On
 <FilesMatch \.php$>
 SetHandler "proxy:unix:/tmp/php-cgi-72.sock|fcgi://localhost"
 </FilesMatch>
 <Files ~ (\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)$>
 Order allow,deny
 Deny from all
 </Files>
 <Directory "/www/wwwroot/7bu.top/public">
 SetOutputFilter DEFLATE
 Options FollowSymLinks
 AllowOverride All
 Require all granted
 DirectoryIndex index.php index.html index.htm default.php default.html default.htm
 </Directory>
 </VirtualHost>
 
 | 
注意:以去不图床的配置文件为例,可自定义项分别是:监听端口、站点域名、网站目录、端口转发、证书信息、强制跳转、地址重写、文件缓存、文件屏蔽等等。