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的主要配置参数说明分享一下,也参考了一些网络的内容,这篇 ...
随机推荐
- 【C】——信号量 互斥锁 条件变量的区别
信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里).而互斥锁是用在多线程多任务互斥的,一个线程占用了某 ...
- android 判断左右滑动,上下滑动的GestureDetector简单手势检测
直接加入监听GestureDetector放在需要判断滑动手势的地方: import android.app.Activity; import android.os.Bundle; import an ...
- [Intellij] Project Structure 配置说明
IntelliJ IDEA 的Project structure可以在File->Project structure中打开,同时,在新建项目是IDE一般用向导的方式让你填写Project str ...
- [maven] settings 文件 国内镜像站
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- static为什么一般与final一起用?
static和final的意义是不同的,static修饰的时候代表对象是静态的,而final修饰的时候代表对象只能赋值一次,他们连用的时候是因为定义的那个对象既要它是静态的,也要求它的值不能再被修改. ...
- 第三百五十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy分布式爬虫要点
第三百五十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy分布式爬虫要点 1.分布式爬虫原理 2.分布式爬虫优点 3.分布式爬虫需要解决的问题
- BIO、NIO、AIO系列二:Netty
一.概述 Netty是一个Java的开源框架.提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. Netty是一个NIO客户端,服务端框架.允许快速简 ...
- googletest进行单元测试(使用cmake编译)
一.前提: 1.假定你的系统为centos6系列 2.假定你已经安装了基本的编译环境,gcc,g++4.4.7 3.假定你已经设置了环境变量:KDS_MOBILE_STOCK_HOME 4.假定你已经 ...
- linux 下 vi 文本编辑如何复制一行粘贴删除一行数据
在使用vi有时会想直接复制一行数据,然后粘贴一行或者直接删除一行数据 复制一行数据的方法 把光标放到要复制的一行前面,然后按两下yy字母键 然后把光标放到要复制到的地方去,按键盘的p字母键 删除一行是 ...
- IO多路复用的机制:select、poll、epoll
select.poll.epoll之间的区别总结[整理] IO多路复用之epoll总结 我读过的最好的epoll讲解--转自”知乎“