Nginx配置虚拟主机教程详解

nginx可以使用server块来设置多个虚拟主机,在server段中用server_name和listen指令来绑定域名和端口。例如:

 代码如下 复制代码

server {
 listen          80;
 server_name    www.111cn.net;

 location / {
  root  hzhuti;
  index index.html;
 }
}

上述配置就是指定了一个虚拟主机www.111cn.net。可能在某些nginx的版本中上述的配置并不能很好的工作,出现的情况是所有的请求都是由第一个server处理的,如果要配置多个我们只要在后再以server {}中间配置一样的即可了。

下面介绍配置二级域名

 代码如下 复制代码

server {
# 根据你的需要,可以替换这个商品,建议端口为80
listen 80 [default|default_server];  #could also be 1.2.3.4:80

# 多个域名用空格分隔
server_name star.yourdomain.com *.yourdomain.com;
#web目录
root /PATH/TO/WEBROOT/$host;
#404错误,找不到页面转为404.html
error_page 404 errors/404.html;
#日记记录
access_log logs/star.yourdomain.com.access.log;
#首页索引,从左往右,越前面优化级越高
index index.php index.html index.htm;

# 提供静态文件
location ~* .(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
}
#让nginx运行php-fpm
location ~ .php$ {
include fastcgi_params;
fastcgi_intercept_errors on;
# By all means use a different server for the fcgi processes if you need to
fastcgi_pass   127.0.0.1:YOURFCGIPORTHERE;
}

location ~ /.ht {
deny  all;
}
}

上面介绍的都是单主机了,如果我要配置双主机呢,下面看方法。

Nginx官网上说是做proxying without caching,但实际观察下来,似乎也是有cache的。实际上在同一时刻,外部来的HTTP连接数远大于proxy到varnish的连接数。

用Nginx虚拟主机的另一个考虑,也为以后访问量进一步增大后,可能需要增加的第二台缓存服务器做简单负载均衡的准备。

 代码如下 复制代码

upstream mysite.cn {  

server 127.0.0.1:8080 ;  

# server 192.168.11.1:80; 今后可能的第二台cache  

}  

server  

第一个虚拟主机,用于varnish和Nginx运行状态监测

 代码如下 复制代码

listen 80;  

server_name cache.mysite.cn;  

index index.htm index.html index.php;  

root /web/htdocs;  

location / {  

index infov.txt;  

allow 192.168.0.0/16;  

deny all;  

}  

location /status {  

stub_status on;  

access_log off;  

allow 192.168.0.0/16;  

deny all;  

}   

}  

server  

第二个虚拟主机,proxy到后面的varnish

 代码如下 复制代码

listen 80;  

client_max_body_size 50M;  

server_name .mysite.cn;  

index index.htm index.html index.php;  

root /web/htdocs;  

location / {  

proxy_pass http://mysite.cn;  

proxy_redirect off;  

proxy_set_header Host $host;  

proxy_set_header X-Real-IP $remote_addr;  

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  

client_max_body_size 50m;  

client_body_buffer_size 256k;  

proxy_connect_timeout 10;  

proxy_send_timeout 15;  

proxy_read_timeout 15;  

proxy_buffer_size 4k;  

proxy_buffers 4 32k;  

proxy_busy_buffers_size 64k;  

proxy_temp_file_write_size 64k;  

}  

#location ~ .*.php?$  

#{  

# include conf/fcgi.conf;   

# fastcgi_pass 127.0.0.1:10080;  

# fastcgi_index index.php;  

#}  

时间: 2024-10-24 19:18:47

Nginx配置虚拟主机教程详解的相关文章

弄了两天了!! Ubutun 下nginx配置虚拟主机问题

问题描述 弄了两天了!! Ubutun 下nginx配置虚拟主机问题 1.下两图是sites-available/default 的配置 2.执行nginx-t命令后出现的错误 3.这是配置的虚拟主机根目录 现在问题来了,在浏览器中输入localhost可以正常显示nginx欢迎界面,但输入localhost/info.php无法显示页面,有没有哪位大神给我指点一二,感激不尽!!! 解决方案 80端口侦听需要root权限,所以需要sudo执行nginx进程. 其次要看一下你的conf配置文件好像

ubuntu快速配置apache虚拟主机方法详解

在ubuntu下,用apt-get install安装的apache,配置虚拟主机和平常在其它平台的不大一样 如果我想快速在本地建一个test.com的虚拟主机 下面是操作步骤: 1. 先绑定test.com到127.0.0.1  代码如下 复制代码 #vim /etc/hosts # 加上 127.0.0.1 test.com 2. 配置虚拟主机文件  代码如下 复制代码 #cd /etc/apache2/sites-available #vim test # 加上 <VirtualHost

PHP7+Nginx的配置与安装教程详解_php实例

系统环境:centos6.5 x64 软件版本:nginx-1.10.0 php-7.0.6 安装 Nginx Nginx官网:http://nginx.org/ 先安装编译依赖的一些组件 复制代码 代码如下: yum install pcre pcre-devel openssl openssl-devel -y 1.解压程序包 复制代码 代码如下: tar xf nginx-1.10.0.tar.gz cd nginx-1.10.0 2.预编译配置参数 复制代码 代码如下: ./config

Linux下Nginx配置虚拟主机VirtualHost实例教程

增加 Nginx 虚拟主机 这里假设大家的 Nginx 服务器已经安装好, 不懂的请阅读各 linux 发行版的官方文档或者 LNMP 的安装说明. 配置 Virtual host 步骤如下: 进入 /usr/local/nginx/conf/vhost 目录, 创建虚拟主机配置文件 demo.neoease.com.conf ({域名}.conf). 打开配置文件, 添加服务如下:    代码如下 复制代码 server {     listen          80;           

Nginx配置虚拟主机示例方法

打开 nginx安装目录/conf/nginx.conf文件找到http花括号在里边加入以下代码  代码如下 复制代码 server   {     listen       80;  #端口,通常默认就好(必须)     server_name  www.111cn.net 111cn.net;     #域名,多个用空格隔开(必须)     index index.html index.htm index.php;   #默认首页文档,多个可以增加(必须)     root  /data0/

Nginx 配置虚拟主机及设置多个虚拟主机

nginx可以使用server块来设置多个虚拟主机,在server段中用server_name和listen指令来绑定域名和端口.例如:  代码如下 复制代码 server {  listen          80;  server_name    www.netingcn.com;  location / {   root  netingcn_com;   index index.html;  } } server {  listen          80;  server_name   

vmware虚拟机NAT配置静态IP教程详解_VMware

一.配置虚拟机的"虚拟网络编辑器" 注意1:虚拟机局域网IP段一定不要和真实使用的IP段冲突. 二.查看本地电脑VMnet8网卡的IP段 注意2.本地电脑VMnet8网卡IP段必须与虚拟机局域网Ip端相同 三.更改虚拟机系统网卡的IP配置 vim /et/sysconfig/network-scripts/ifcfg-etho 修改为 BOOTPROTO="static" #dhcp改为static ONBOOT="yes" #开机启用本配置 I

Nginx配置虚拟主机及对PHP的支持

在conf目录下面创建vhosts目录,并创建站点的配置文件,这里以examples.com.conf为例.  代码如下 复制代码 [root@localhost ~]# cd /usr/local/nginx/ [root@localhost nginx]# mkdir -p conf/vhosts [root@localhost nginx]# vim conf/vhosts/examples.com.conf 创建的examples.com.conf配置文件如下:  代码如下 复制代码 #

设置 Ubuntu Server 虚拟主机方法详解

之前设置ubuntu的虚拟主机完全看心情,今天来看下官方的建议.  代码如下 复制代码 1.COPY THE DEFAULT CONFIG SAMPLE IN FOLDER sites-available sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite 2.EDIT YOUR CONFIG FILE mynewsite 3.ENABLE YOUR VIRTUALHOST CON