# 服务运行帐户设定 User daemon Group daemo # 启用经常使用模块 LoadModule php5_module modules/libphp5.so #php支持模块 LoadModule rewrite_module modules/mod_rewrite.so #URL重写模块 Addtype application/x-httpd-php .php # 添加PHP的MIMETYPE DirectoryIndex index.php index.html index.htm # 默认页配置 PidFile /var/run/httpd.pid # 进程文件设定
# Apache 2.2系列版本 <VirtualHost *:80> DocumentRoot /srv/www/site1 ServerName sitename.com ServerAlias aliasname1.com aliasname2.com #可选(common日志格式) ErrorLog /var/log/httpd/sitename_error.log #如未指定,则使用全局配置ErrorLog CustomLog /var/log/httpd/sitename_access.log common #可选 <Directory /srv/www/site1> Options MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow From All </Directory> </VirtualHost> # Apache 2.4系列版本 <VirtualHost *:80> DocumentRoot /srv/www/site1 ServerName sitename.com ServerAlias aliasname1.com aliasname2.com #可选(common日志格式) ErrorLog /var/log/httpd/sitename_error.log #如未指定,则使用全局配置ErrorLog CustomLog /var/log/httpd/sitename_access.log common #可选 <Directory /srv/www/site1> Options FollowSymLinks AllowOverride all Require all granted </Directory> </VirtualHost>
4种系统内置的服务日志格式:
|格式分类|格式简写|用途说明|
|:-----|:------|:------|
|普通日志格式(common log format,CLF)|common|记录常规的请求信息|
|参考日志格式(referer log format)|referer|在常规信息基础上增长来源页信息|
|代理日志格式(agent log format)|agent|在常规信息基础上增长代理信息|
|综合日志格式(combined log format)|combined|结合以上三种日志信息|php
格式 RewriteRule Pattern Substitution [flags]
html
Substitution:linux
flag:nginx
# 301跳转, R=permanent 进行永久重定向 RewriteRule Pattern Substitution [R=permanent,L] # 302跳转, 要求Substitution以http://开头 RewriteRule Pattern Substitution [R,L] # 图片防盗链 RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} ! http://www.你的域名.com [NC] RewriteCond %{HTTP_REFERER} ! http://www.baidu.com [NC] RewriteCond %{HTTP_REFERER} ! http://www.google.com [NC] RewriteRule .*\.(gif|jpg|jpeg|bmp|png)$ http://www.你的域名.com/unfind.jpg [R,NC,L]
http response header
中,需引入 Access-Control-Allow-Origin
来受权浏览器跨域访问第三方网站。# 启用header模块 LoadModule headers_module modules/mod_headers.so # 虚拟主机配置 Header set Access-Control-Allow-Origin http://other_domain.com
user nobody; # 指定服务运行用户 worker_processes 4; # 工做进程数设定(通常和cpu数一致) # 全局错误日志 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; # 进程文件指定 keepalive_timeout 60; #工做模式设定 events { use epoll; # linux2.6+内核可设定epoll(多路复用io)模式提升性能 worker_connections 1024; # 每一个工做进程的并发链接数 } http { # 日志格式设定 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; # 全局日志设定 gzip on; # 开启gzip压缩 # 虚拟主机配置 server { listen 80; server_name www.site.com; root /service/www; access_log logs/nginx.access.log main; # 当前虚拟主机访问日志 # php脚本处理 location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
nginx并发总数 = worker_processes * worker_connections
(反向代理通常会使并发性能下降4倍)apache
server_name
高级配置server_name a.site.com b.site.com;
server_name *.site.com;
server_name ~^(?<hostname>.+?)\.site\.com$;捕获的变量可经过
$hostname
形式在配置文件中使用