Posted by:
努力记

努力记,通过记录,计划,让自己的努力可以触碰彩虹!

4,096

Nginx:基本配置

  • 2013-06-09
  • 暂无评论

1.基本的php链接

  • 目前使用的是fastcgi模式

添加fastcgi.conf,全局配置fastcgi

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

2.添加基本的server.conf

  • 简化新网站的搭建
  • 定义的默认访问页面
  • 定义了php文件的fastcgi操作
  • 定义了不可访问的文件
  • 定义了静态文件的http头,和访问日志的关闭
  • 定义了网站根目录的配置文件:该操作需要在每添加或修改配置文件后让nginx重新载入配置文件,和apache的自动更新不一致:性能考虑

如此可以实现网站根目录的配置:IIS(web.config)Apache(.htaccess)Ngin(.nginx)

location / {
    index  index.html index.php index.htm;
}
location ~ \.php$ {
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	#fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
	include        fastcgi.conf;
}
location ~ /\.(ht|git|settings|svn|project|buildpath|nginx) {
	deny all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
	#expires 30d;
	access_log off;
}
location ~ .*\.(js|css)?$ {
	#expires 30d;
	access_log off;
}
include		$document_root/.nginx*;

 3.在nginx.conf中

http模块中添加
#包含所有的网站配置文件
include vhosts/*
在vhosts中为每个网站添加域名为名称的配置文件
example.com.conf
里面编写

server {
	server_name example.com;#主机名
	root /var/www/virtualhost/example.com;#网站根目录
	#如果绑定所有2级域名可以写成
		server_name *example.com
	#如果针对每个二级域名有不同的网站目录可以写成
		if ( $host ~* (.*).(.*).(.*)){
			set $domain $1;
		}
		root /var/www/virtualhost/example.com/$domain/
	include	server.conf;#包含全局网站配置
}
  • 更多复杂的功能都可以单独设置,或在网站根目录中实现
  • 如果网站的结构符合某种命名规则,也可以参考二级域名绑定完成动态目录的配置方法

以上完成

  1. PHP于Nginx的连接
  2. 并且实现不同网站在目录中编写配置文件的功能,相对于言Nginx的配置文件非常的灵活,再加上可以热重启等保证线上体验,能将配置进入源码管理
  3. 通过统一化脚本设置,并且底网站目录进行规范化,能大大减少上线火更改配置的运维工作


back up ↑

无觅相关文章插件,快速提升流量