nginx服务器下配置多个站点的方法

简介:

这里以配置2个站点(2个域名)为例,n 个站点可以相应增加调整,假设:

IP地址: 202.55.1.100
域名1 example1.com 放在 /www/example1
域名2 example2.com 放在 /www/example2

配置 nginx virtual hosting 的基本思路和步骤如下:

把2个站点 example1.com, example2.com 放到 nginx 可以访问的目录 /www/
给每个站点分别创建一个 nginx 配置文件 example1.com.conf,example2.com.conf, 并把配置文件放到 /etc/nginx/vhosts/
然后在 /etc/nginx.conf 里面加一句 include 把步骤2创建的配置文件全部包含进来(用 * 号)
重启 nginx

具体过程

下面是具体的配置过程:

1、在 /etc/nginx 下创建 vhosts 目录

?
1
mkdir /etc/nginx/vhosts

2、在 /etc/nginx/vhosts/ 里创建一个名字为 example1.com.conf 的文件,把以下内容拷进去

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server {
         listen   80 ;
         server_name  example1.com www. example1.com;
 
         access_log  /www/access_ example1.log  main;
 
         location / {
             root   /www/example1.com;
             index  index.php index.html index.htm;
         }
 
         error_page    500  502  503  504   /50x.html;
         location = /50x.html {
             root   /usr/share/nginx/html;
         }
 
        # pass the PHP scripts to FastCGI server listening on  127.0 . 0.1 : 9000
         location ~ \.php$ {
             fastcgi_pass    127.0 . 0.1 : 9000 ;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME  /www/example1.com/$fastcgi_script_name;
             include        fastcgi_params;
         }
 
         location ~ /\.ht {
             deny  all;
         }
}

3、在 /etc/nginx/vhosts/ 里创建一个名字为 example2.com.conf 的文件,把以下内容拷进去

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server {
         listen   80 ;
         server_name  example2.com www. example2.com;
 
         access_log  /www/access_ example1.log  main;
 
         location / {
             root   /www/example2.com;
             index  index.php index.html index.htm;
         }
 
         error_page    500  502  503  504   /50x.html;
         location = /50x.html {
             root   /usr/share/nginx/html;
         }
 
        # pass the PHP scripts to FastCGI server listening on  127.0 . 0.1 : 9000
         location ~ \.php$ {
             fastcgi_pass    127.0 . 0.1 : 9000 ;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME  /www/example2.com/$fastcgi_script_name;
             include        fastcgi_params;
         }
 
         location ~ /\.ht {
             deny  all;
         }
}

4、打开 /etc/nginix.conf 文件,在相应位置加入 include 把以上2个文件包含进来

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
user  nginx;
worker_processes   1 ;
 
# main server error log
error_log   /var/log/nginx/error.log ;
pid /var/run/nginx.pid;
 
events {
     worker_connections   1024 ;
}
 
# main server config
http {
     include       mime.types;
     default_type  application/octet-stream;
     log_format  main   '$remote_addr - $remote_user [$time_local] $request '
                       '"$status" $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"' ;
 
     sendfile        on;
     #tcp_nopush     on;
         #keepalive_timeout   0 ;
     keepalive_timeout   65 ;
     gzip  on;
 
     server {
             listen          80 ;
             server_name     _;
             access_log      /var/log/nginx/access.log main;
             server_name_in_redirect  off;
             location / {
                     root  /usr/share/nginx/html;
                     index index.html;
             }
     }
 
     # 包含所有的虚拟主机的配置文件
     include /usr/local/etc/nginx/vhosts/*;
}

5、重启 Nginx

?
1
/etc/init.d/nginx restart



本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1734879

相关文章
|
2月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
138 61
|
15天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
76 13
|
17天前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
55 5
|
1月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
61 3
|
1月前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
151 1
|
2月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
79 3
|
2月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
140 3
|
弹性计算 安全 应用服务中间件
ECS动手搭建Nginx
在ECS的centos7上搭建一个Nginx
2083 7
ECS动手搭建Nginx
|
4天前
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
|
3天前
|
存储 运维 安全
阿里云弹性裸金属服务器是什么?产品规格及适用场景介绍
阿里云服务器ECS包括众多产品,其中弹性裸金属服务器(ECS Bare Metal Server)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。本文为大家详细介绍弹性裸金属服务器的特点、优势以及与云服务器的对比等内容。