ubuntu 13.04 nginx.conf 配置详解
1、nginx.conf 文件,路径为:/etc/nginx/agin.conf
#使用的用户和组
user www-data; #指定工作衍生进程数(一般等于CPU总核数或总核数的两倍)
worker_processes 4; #指定PID存放的路径
pid /run/nginx.pid; #指定文件描述符数量
worker_rlimit_nofile 51200; events {
#使用的网络I/O模型,linux戏台推荐采用epoll模型,freebsd系统采用kqueue模型
use epoll; #允许最大连接数
worker_connections 51200;
# multi_accept on;
} http { ##
# 基础设置
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off; server_names_hash_bucket_size 128;
# server_name_in_redirect off; include /etc/nginx/mime.types;
default_type application/octet-stream; ##
# 日志设置
##
#指定错误日志存放路径数, 错误日志记录的级别可选项为:[debug|info|notice|warn|error|crit]
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log; ##
# 压缩设置
##
gzip on;
gzip_disable "msie6"; gzip_vary on;
# gzip_proxied any;
gzip_comp_level 2;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
## #include /etc/nginx/naxsi_core.rules; ##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
## #passenger_root /usr;
#passenger_ruby /usr/bin/ruby; ##
# 虚拟主机设置
## include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
} #mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
2、default 服务主机配置文件,路径为:/etc/nginx/sites-available/default
#主机
server {
listen 80;
server_name www.demo.com;
root /home/zxl/wwwroot/demo/;
index index.php index.html index.htm; #如果没有可访问目录或文件
if (!-e $request_filename) {
#将访问路径跳转至根目录下的index.php接受处理
rewrite ^/(.*)$ /index.php/$1 last;
break;
} #处理请求路径满足匹配 .php 的响应
# “ location ~ \.php ” == “ location ~ \.php($|/) ”
#第一句的意思是如果请求字符中匹配到“ .php ”字符,就交给php解析器处理
#第二句的意思是如果请求字符中匹配到以“ .php ”字符为结尾的或 “ .php/ ” 字符,就交给php解析器处理
#推荐采纳第二句
location ~ \.php($|/)
{
#响应请求处理入口,使用php-fpm进行管理
fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} #配置静态图片文件客户端缓存时间
location ~ .*\.(gif|jgp|jpeg|png|bmp|swf)$
{
expires 30d; #30天
} #配置js、css文件客户端缓存时间
location ~ .*\.(js|css)?$
{
expires 1h; #1小时
} #设置访问日志保存格式
#log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for'; #设置访问日志保存路径
#access_log /var/log/nginx/access.log access;
}
虚拟主机的绑定:
可以是同主机多IP,二是同IP多虚拟主机方式。
同主机多IP的方式,是使用网卡回环功能,同一网卡绑定多个ip。
同IP多虚拟主机方式(推荐,很适合开发者同时开发多个项目的情况下使用):
本地开发的时侯给每个虚拟主机设定一个域名,
编辑 /etc/hosts 文件:
127.0.0.1 www.demo.com
127.0.0.1 www.demo2.com
127.0.0.1 www.demo3.com
在编辑 /etc/nginx/sites-available/default 文件
service{
******
}
拷贝该代码体,复制你要的虚拟机个数数。
再编辑
server_name www.demo2.com; //设置为你设定好的域,依次类推
root /home/zxl/wwwroot/demo2;
最终如下:
#demo
server {
listen 80;
server_name www.demo.com;
root /home/zxl/wwwroot/demo/;
index index.php index.html index.htm; if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
} location ~ \.php
{
#响应请求处理入口,使用php-fpm进行管理
fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location ~ .*\.(gif|jgp|jpeg|png|bmp|swf)$
{
expires 30d;
} location ~ .*\.(js|css)?$
{
expires 1h;
} #log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for';
#access_log /var/log/nginx/access.log access;
} #demo2
server {
listen 80;
server_name www.demo2.com;
root /home/zxl/wwwroot/demo2/;
index index.php index.html index.htm; if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
} location ~ \.php
{
#响应请求处理入口,使用php-fpm进行管理
fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location ~ .*\.(gif|jgp|jpeg|png|bmp|swf)$
{
expires 30d;
} location ~ .*\.(js|css)?$
{
expires 1h;
} #log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for';
#access_log /var/log/nginx/access.log access;
} #demo3
server {
listen 80;
server_name www.demo3.com;
root /home/zxl/wwwroot/demo3/;
index index.php index.html index.htm; if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
} location ~ \.php
{
#响应请求处理入口,使用php-fpm进行管理
fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location ~ .*\.(gif|jgp|jpeg|png|bmp|swf)$
{
expires 30d;
} location ~ .*\.(js|css)?$
{
expires 1h;
} #log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for';
#access_log /var/log/nginx/access.log access;
}
如此,你便可访问 www.demo.com www.deom2.com www.demo3.com 了!
如果在正式的生产环境的话,则需要你的DNS服务器指定到你所在的服务器IP了。
ubuntu 13.04 nginx.conf 配置详解的更多相关文章
- nginx.conf配置详解
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
- nginx.conf 配置详解
目录 pid user error_log worker_connections include http server nginx主配置文件中的内容 pid 主线程id的存储位置. # cat /u ...
- Nginx的配置文件nginx.conf配置详解
user nginx nginx; #Nginx用户及组:用户 组.window下不指定 worker_processes 8; #工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CPU. ...
- Nginx_配置文件nginx.conf配置详解
user nginx nginx ; # Nginx用户及组:用户 组.window下不指定 worker_processes 8; # 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CP ...
- Nginx安全相关配置和nginx.conf中文详解
一.centos下redis安全相关 1.背景 在使用云服务器时,如果我们的redis关闭了protected-mode模式,被病毒攻击的可能会大大增加,因此我们使用redis时候,最好更改默认端口, ...
- Nginx 核心配置详解
目录 Nginx 核心配置详解 Nginx 四层访问控制: Nginx账户认证功能: 自定义错误页面: 自定义访问日志: 检测文件是否存在: 长连接配置: 作为下载服务器配置: 作为上传服务器: 其他 ...
- Nginx配置文件nginx.conf中文详解(转)
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
- Windows XP硬盘安装Ubuntu 12.04双系统图文详解
Windows XP硬盘安装Ubuntu 12.04双系统图文详解 Ubuntu 12.04 LTS版本于2012年4月26日发布,趁着五一放假,赶紧在自己的Windows XP的电脑上安装下Ubun ...
- Nginx配置文件nginx.conf中文详解【转】
PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇 ...
随机推荐
- 微信小程序——实现动画循环播放
今天在做砍价页面的时候需要将一个按钮动起来,效果图如下: 其实它实现的原理很简单,就是循环的缩小放大. css3中的animate 有个属性是 animation-iteration-count 可以 ...
- 理解javascript中的回调函数(callback)【转】
在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...
- Sublime运行Matlab
使用Sublime来作为Matlab的编辑器.Sublime编辑+Matlab命令行(terminal)运行的开发环境搭建. 前期准备 Matlab 2014a (Windows或Linux平台,这里 ...
- Linux 文件编码格式转换
如果需要在Linux 中操作windows下的文件,那么经常遇到文件编码转换的问题. Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-. 查看文件编码 在vim 中 ...
- Sword websocket分析二
//websocket发送数据 int send(uint8_t* message, uint64_t message_size) { //掩码 ] = { 0x12, 0x34, 0x56, 0x7 ...
- Java 内部线程
InsttoolCacheScheduler_ Worker-2 Quartz InsttoolCacheScheduler_Worker-2线程就是ThreadPool线程的一个简单实现,它主要负责 ...
- linux mongodb数据库的安装
折腾两天, 前领导留下的烂摊子,前天忽然挂掉了, 整个公司就我会linux, 奶奶的, 一言难尽. 下面记录下怎么安装mongodb, 前面是从菜鸟教程复制来的 1. 下载 MongoDB 提供了 l ...
- SAP 以工序为基准进行发料 机加工行业 Goods Issue to Routing
SAP 以工序为基准进行发料 这个流程是在业务有关需求,业务需要按照工序发料,一个工单有多个工序,而料是要发到每个工序上,而且没到工序之间在物理上是有距离的,所以仓管员在打印配发单之后希望了解到哪 ...
- Java数组遍历输出
在Java中,如何将字符串数组写入输出控制台? 以下示例演示了通过循环将数组的元素写入输出控制台. package com.yiibai; public class ArrayOutput { pub ...
- autofac解析Mvc和Webapi的坑
我们在项目中很早就开始使用autofac,也以为知道与mvc和webapi集成的做法. var builder = new ContainerBuilder(); // Mvc Register bu ...