千家信息网

Nginx怎么高效的在一台服务器部署多个站点

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天小编给大家分享一下Nginx怎么高效的在一台服务器部署多个站点的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获
千家信息网最后更新 2025年12月02日Nginx怎么高效的在一台服务器部署多个站点

今天小编给大家分享一下Nginx怎么高效的在一台服务器部署多个站点的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

下来看一下我们的需求,我这里有三个网站项目工程需要部署(依次对应着三个域名),提供一台linux服务器,要实现访问对应的域名跳转到对应的网站。

下来我们看一下为了解决这个问题,我所设计的体系架构图:

这里我们假定图中linux服务器公网ip为192.168.2.100,然后假定要在这台服务器搭建这么三个站点:www.nginxtest.net、admin.nginxtest.net、app.nginxtest.net。

好了,下来我们具体配置一下:

1.配置nginx反向代理

我们还是先连接ssh,然后进行下面操作(一般不建议修改默认主配置文件nginx.conf,所以我们新建负载均衡配置文件fxdl.conf,保证服务器安全,如下):

$ ssh root@192.168.2.100             //ssh连接# cd /usr/local/nginx/conf# touch fxdl.conf                 //创建代理配置文件# vi fxdl.conf                  //用vi编辑器打开文件,然后按键盘的i

注意:vi编辑器中,键盘按 i 进入 insert 状态,按 esc 退出 insert 状态。

然后输入以下配置代码(域名部分自定义更改成你们自己的域名,注释部分则按需开启):

#设置低权限用户,为了安全而设置的user nobody;#工作衍生进程数worker_processes 4;#设置错误文件存放路径#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#设置pid存放路径(pid是控制系统中重要文件)#pid logs/nginx.pid;#设置最大连接数events{  worker_connections 1024;}http {  #用来设置日志格式  log_format main '$remote_addr - $remote_user [$time_local] "$request" '           '$status $body_bytes_sent "$http_referer" '           '"$http_user_agent" "$http_x_forwarded_for"';  #用来指定日志文件的存放路径  access_log /data/wwwlogs/access_nginx.log main;  #开启高效文件传输模式  sendfile      on;  #防止网络阻塞  tcp_nopush     on;  #防止网络阻塞  tcp_nodelay     on;  #长连接超时时间,单位是秒  keepalive_timeout  65;  #散列表的冲突率,默认1024,越大则内存消耗更多,但散列key的冲突率会降低,检索速度就更快  types_hash_max_size 2048;  #文件扩展名与文件类型映射表  include       /usr/local/nginx/conf/mime.types;  #默认文件类型  default_type    application/octet-stream;  #include /etc/nginx/conf.d/*.conf;  #主要是用于设置一组可以在proxy_pass和fastcgi_pass指令中使用额代理服务器,默认负载均衡方式为轮询  upstream tomcat_client {    server localhost:8080;  }  #开启gzip压缩,开启后,访问网页会自动压缩  #gzip on;  #指定服务器的名称和参数  server {    listen 80;    server_name app.nginxtest.net;    location / {      proxy_pass http://tomcat_client;      proxy_redirect default;      #设置代理      proxy_set_header host $host;      proxy_set_header x-real-ip $remote_addr;    }  }  server {    listen 80;    server_name admin.nginxtest.net;    location / {      proxy_pass http://tomcat_client;      proxy_redirect default;      proxy_set_header host $host;      proxy_set_header x-real-ip $remote_addr;    }  }  server {    listen 80;    server_name www.nginxtest.net;    location / {      proxy_pass http://tomcat_client;      proxy_redirect default;      proxy_set_header host $host;      proxy_set_header x-real-ip $remote_addr;    }    location = / {      #判断是否为手机移动端      if ($http_user_agent ~* '(iphone|ipod|ipad|android|windows phone|mobile|nokia)') {        rewrite . http://www.nginxtest.net/phone break;      }      rewrite . http://www.nginxtest.net/pc break;    }  }}

好了就是这么简单,nginx反向代理配置完毕。下来配置tomcat:

2.配置tomcat部署多个站点

$ ssh root@192.168.2.100             //ssh连接# cd /usr/local/tomcat# cp /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml_bk //备份server.xml原文件# vi server.xml                  //用vi编辑器打开文件,然后按键盘的i

我们编辑server.xml,engine节点下添加以下host节点(节点中的域名和站点工程目录需要自定义修改为你们自己的):

      

注意:如果你想要实现直接访问公网ip无网页效果,删除engine节点下的

..

即可。

输入完成后按下esc,然后输入:

:wq!

就可以保存并退出配置文件了。到此,tomcat也配置完毕了。

接下来我们就可以将我们的多个站点工程代码放在 /data/wwwroot/ 下了。然后启动nginx和tomcat。

现在可以试一下,分别访问每个站点的二级域名www.nginxtest.net、admin.nginxtest.net、app.nginxtest.net,我们发现已经可以跳转到对应的站点了(和每个站点分别部署一台服务器,看到的效果是一样的)。

以上就是"Nginx怎么高效的在一台服务器部署多个站点"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

文件 配置 服务器 站点 服务 域名 代理 多个 知识 篇文章 节点 三个 工程 编辑器 路径 键盘 输入 均衡 安全 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小学生学习网络技术 4u服务器多少钱一个 智能控制软件开发公司 深圳视频会议服务器出售 sql语句提示数据库无法打开 数据库应用技术形考任务11 物联网需要什么配置的云服务器 树莓派 用什么软件开发 上海兔家语网络技术有限公司 湖南软件开发工程师培训哪家好 软件开发人员外派 重视网络安全和信息化工作 国泰安数据库中TTM是什么 魔兽rp服务器能不能组队 不动产数据库建库技术方案 古交软件开发公司推荐 莱芜app软件开发公司电话 软件开发计划级别 一个域名可以绑两台服务器吗 数据库服务器是仲裁什么地方 网络安全与执法部门 土木工程对数据库使用的例子 试卷模板软件开发 服务器查看网口流量 杭州包拯互联网科技有限公司外包 网络安全与信息化部主任 企业软件开发面试问题 广州哲彦互联网科技有限公司 网络技术专利专利价值 软件开发数学和英语差怎么办
0