nginx配置多个站点共用80端口的解决方法

当一个服务器需要承载多个网站时,我们可以用Nginx实现多站点共用同一IP和端口的方案。其实现的主要步骤如下:

  1. 准备工作:确保已经安装了Nginx,并且位于系统环境变量中,可以通过nginx -v命令查看版本信息。

  2. 创建站点目录:为每一个网站创建所需的目录,假设有两个站点需要创建:

  3. 站点A的目录是:/data/www/siteA/

  4. 站点B的目录是:/data/www/siteB/

  5. 创建站点配置文件:为每个站点创建一个Nginx配置文件,假设站点A使用的域名是www.sitea.com,站点B使用的域名是www.siteb.com。我们需要在Nginx的config目录下新建两个配置文件,文件名分别为siteA.conf和siteB.conf,并且在这两个配置文件中分别进行如下的配置:

  6. 配置文件siteA.conf:

   server {
        listen       80;
        server_name  www.sitea.com;
        location / {
            root   /data/www/siteA/;
            index  index.html index.htm;
        }
    }
  • 配置文件siteB.conf:
   server {
        listen       80;
        server_name  www.siteb.com;
        location / {
            root   /data/www/siteB/;
            index  index.html index.htm;
        }
    }

解释一下以上的配置信息:

  • listen:配置监听的端口。
  • server_name:配置站点域名。
  • location:配置站点文件夹的具体路径,指定站点根目录位置。

  • 配置Nginx默认站点:在Nginx的默认站点中添加如下的配置信息,用于使Nginx能够处理所有未被显式指定的请求,也就是访问IP地址所对应的站点:

    server {
        listen       80 default_server;
        server_name  _;
        root         /data/www/default/;
        index        index.html index.htm;
    }

解释一下以上的配置信息:

  • default_server:配置Nginx默认站点。
  • server_name:配置站点域名为通配符,所有请求都将被匹配。
  • root:如果没有任何一个配置文件可以匹配到请求,就会将请求发送到这个默认站点的根文件夹。
  • index:配置默认站点的默认首页。

注意,为了让以上配置更好的生效,我们需要确保Nginx已经配置好了include代码块,即nginx.conf文件中含有如下的代码块:

    http {
        ...
        include /etc/nginx/conf.d/*.conf;
        ...
    }
  1. 测试运行:启动Nginx,并通过浏览器分别访问www.sitea.com和www.siteb.com域名所对应的站点根目录中的index文件,如index.html或index.php。如果能够正确访问到,则说明Nginx已经成功整合多个站点并提供了服务。

总结:

通过以上步骤,我们就可以非常容易地使用Nginx实现多个站点共用同一IP和端口,从而最大化地减少服务器资源的浪费与消耗。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nginx配置多个站点共用80端口的解决方法 - Python技术站

(1)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • linux nginx常见问题及优化,压力测试,tomcat服务器优化

    nginx常见问题 nginx优化全局配置优化[root@web2 nginx]# vim conf/nginx.confuser nobody;worker_processes 1;(与cpu核心数一致)worker_rlimit_nofile 3000;(最大打开文件数量)error_log /var/log/nginx.error_log info;(…

    Nginx 2023年4月10日
    00
  • Nginx TLS SNI 不同域名多443转发

    依赖 yum -y install pcre-devel openssl openssl-devel library 编译: mkdir /data/nginx/ -p ./configure –prefix=/data/nginx/ –with-http_stub_status_module –with-http_ssl_module –with-…

    Nginx 2023年4月10日
    00
  • Nginx动静分离知识及配置

    Nginx动静分离知识及配置,本质上与分离上传下载功能是相同功能,本质就是在文件服务器也是需要部署WEB应用的,只是在进行代理分离的时候分配到对应的文件服务器上去。 随着Nginx高性能Web服务器大量被使用,目前Nginx最新稳定版为1.2.6,张宴兄在实际应用中大量使用Nginx,并分享Nginx高性能Web服务器知识,使得Nginx在国内也是飞速的发展…

    Nginx 2023年4月9日
    00
  • PHP脚本批量清除nginx缓存的方法

    我写了一个程序能够实现 1.提交一批url进行清除对应的cache 2.提交一批url目录可以清除包含这些目录的url,若是提交域名可以清除整站 3.查看某个目录下的缓存文件是否缓存上 4.可以添加多个站点 需要县安装ngx_cache_purge 代码如下 1 <?php 2 /* 3 * 作者:yifangyou 4 日期:2012-07-21 1…

    Nginx 2023年4月12日
    00
  • nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:centos7.2 服务器IP地址:4xxxx 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点“解析”,进入解析页面后选择【添加解析】按钮会弹出如下页面: 主机记录这里选择@,记录值就是服务器ip地址,确认。 三,申请ca证书 在阿里云控制台-产品与服务-安全(云盾)-…

    Nginx 2023年4月12日
    00
  • nginx通过域名访问项目(不接项目名称),cookie丢失问题详解

     最近搞了个域名,想用它直接去访问Tomcat上部署的项目,开始一直必须加上项目名称,经过短暂配置,成功了。 访问一次,到达登陆页面,结果死活登录不进去,一直在登陆界面,原来是由于cookie丢失,现配置如下,完美解决问题: server { listen 80; #listen somename:8080; server_name www.XXX.cn; …

    Nginx 2023年4月10日
    00
  • 通过Nginx代理转发配置实现跨域的方法(API代理转发)

    接下来我会详细讲解通过Nginx代理转发配置实现跨域的方法。这种方法通常用于解决前端应用在访问不同域的API服务时会存在的跨域问题。 简介 跨域是指浏览器从一个域名的网页去请求另一个域名的资源,这里的域名可以理解为协议、主机名、端口号的组合。通常情况下,浏览器限制了脚本中发起跨域HTTP请求。这种安全机制可以有效的防止一些跨站攻击,并保证用户的安全。但是在前…

    Nginx 2023年5月16日
    00
  • Nginx整合Tomcat

    现在先不考虑集群的配置问题,只实现Nginx实现一台tomact的代理 1.我们需要一个web项目,这里我把先准备好的web.war文件部署到Tomact服务器上 mvn clean install package mv /srv/ftp/web.war /usr/local/tomcat/webapps 2.Nginx和Tomact默认的都是80端口,所以…

    Nginx 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部