upstream bbs.aaa.cn{
server 1.2.3.1:80;
server 1.2.3.4:80;
}
server {
listen 80;
server_name bbs.aaa.cn;
location / {
proxy_pass http://bbs.aaa.cn/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# access_log /home/logs/bbs.access combined;
}
upstream blog.aaa.cn{
server 1.2.3.1:80;
server 1.2.3.4:80;
}
server {
listen 80;
server_name blog.aaa.cn;
location / {
proxy_pass http://blog.aaa.cn/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# access_log /home/logs/ss.access combined;
}
server 1.2.3.1:80;
server 1.2.3.4:80;
}
server {
listen 80;
server_name bbs.aaa.cn;
location / {
proxy_pass http://bbs.aaa.cn/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# access_log /home/logs/bbs.access combined;
}
upstream blog.aaa.cn{
server 1.2.3.1:80;
server 1.2.3.4:80;
}
server {
listen 80;
server_name blog.aaa.cn;
location / {
proxy_pass http://blog.aaa.cn/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# access_log /home/logs/ss.access combined;
}
0
经测试发现,可以用nginx代理一个服务器上所有域名,方法如下:
1. 主配置文件不需要更改任何配置
2. 在vhosts目录下需要建立两个文件,一个是servername 列表文件,一个是虚拟主机配置文件
两个文件内容分别为
(1) servername
server_name www.123.net.cn www.alsdjfl.com www.asdfa1.com; //就这么简单一行,当然这个server_name 还可以继续添加的
(2) 虚拟主机配置文件
server {
listen 80;
include vhosts/servername; // 这里的文件就是上边那个servername列表文件
location / {
proxy_pass http://1.2.1.2/; //这里就是需要做代理的服务器ip地址了
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /dev/null;
}
1. 主配置文件不需要更改任何配置
2. 在vhosts目录下需要建立两个文件,一个是servername 列表文件,一个是虚拟主机配置文件
两个文件内容分别为
(1) servername
server_name www.123.net.cn www.alsdjfl.com www.asdfa1.com; //就这么简单一行,当然这个server_name 还可以继续添加的
(2) 虚拟主机配置文件
server {
listen 80;
include vhosts/servername; // 这里的文件就是上边那个servername列表文件
location / {
proxy_pass http://1.2.1.2/; //这里就是需要做代理的服务器ip地址了
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /dev/null;
}
0
本帖最后由 lqph3387 于 2010-9-30 13:54 编辑
针对apache和nginx共同协作的网站架构,也可以根据动态内容和静态内容的请求来做负载均衡
如:
upstream apache.com{
server 1.2.3.1:80;
server 1.2.3.4:80;
}
location ~* .*\.(php|phps|jsp)$
{
proxy_pass http://apache.com;
}
针对apache和nginx共同协作的网站架构,也可以根据动态内容和静态内容的请求来做负载均衡
如:
upstream apache.com{
server 1.2.3.1:80;
server 1.2.3.4:80;
}
location ~* .*\.(php|phps|jsp)$
{
proxy_pass http://apache.com;
}
0
老师 我 nginx.conf是用的你的配置。。然后 upstream 也是这样。。但是 -t 的时候 提示不允许 upstream 用在这里 是 怎么 办 ???
[root@nginx vhosts]# /usr/local/nginx/sbin/nginx -t
nginx: [emerg] "upstream" directive is not allowed here in /usr/local/nginx/conf/vhosts/upstr.conf:1
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
[root@nginx vhosts]# /usr/local/nginx/sbin/nginx -t
nginx: [emerg] "upstream" directive is not allowed here in /usr/local/nginx/conf/vhosts/upstr.conf:1
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
0
你这个是什么原因造成的,我也碰到这种情况
jade 发表于 2014-11-16 20:22
老师 我 nginx.conf是用的你的配置。。然后 upstream 也是这样。。但是 -t 的时候 提示不允许 upstream 用 ...
你这个是什么原因造成的,我也碰到这种情况
0
本帖最后由 lyhabc 于 2016-1-5 18:23 编辑
也就是动静分离,只是啊铭老师lamp/lnmp阶段复习讲课的时候是一个后端apache,雷老师这里是两个后端apache
雷老师 发表于 2010-9-30 13:53
针对apache和nginx共同协作的网站架构,也可以根据动态内容和静态内容的请求来做负载均衡
如:
u ...
也就是动静分离,只是啊铭老师lamp/lnmp阶段复习讲课的时候是一个后端apache,雷老师这里是两个后端apache
编辑回复