最近想把三个项目配在一个服务器上,于是想使用nginx配置二级域名实现。

1.域名添加解析

我的是阿里云的域名,所以首先给自己的域名添加解析。

打算使用 www.codeliu.com , test1.codeliu.com, test2.codeliu.com这三个域名,其中 test1.codeliu.com, test2.codeliu.com作为二级域名。

2.准备好三个项目

eclipse新建三个web项目,直接在index.html中写一点东西能进行区别进行,然后export成war包,传到服务器的tomcat webapp目录下。

3.配置nginx

为了方便,我就直接在nginx.conf进行配置了,没有重新起配置文件,如果想重新起配置文件,可以在nginx.conf使用include进行包含就行。

vim /usr/local/nginx/conf/nginx.conf

使用上面的命令编辑nginx的配置文件,先把配置文件中的server注释掉,然后添加下面的语句

server {listen          80;server_name     www.codeliu.com;location / {root    /usr/lib/apache-tomcat-8.5.33/webapps/CodeliuDemo;index   index.html index.htm;}
}server {listen          80;server_name     test1.codeliu.com;location / {root   /usr/lib/apache-tomcat-8.5.33/webapps/Test1Demo;index  index.html index.htm;}
}server {listen          80;server_name     test2.codeliu.com;location / {root    /usr/lib/apache-tomcat-8.5.33/webapps/Test2Demo;index   index.html index.htm;}
}

重启nginx

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

这样配置就完成了,输入不同的网站就可以显示不同的项目。

4.遇到的问题

在配置完成之后,访问出现了403。

4.1 首先看看是否有index文件

检查后发现都有,应该不是这个原因。

4.2 再检查是否是文件夹的权限问题

chmod -R 777

使用上面的命令后还是不行。

4.3 检查启动用户和nginx工作用户是否一致

修改nginx.conf的第一行,改成下面这样

user  root;

重启nginx,访问正常。


2018-11-21 15:21再次更新

试了试发现访问动态项目是404,所以决定一个项目使用一个tomcat,分配不同的端口,这样一个tomcat挂了不会影响其他的项目。

所以解压了三个tomcat,分别对应8080,8081,8082端口。修改tomcat的server.conf达到修改端口的目的。要改三个地方

<!-- 这里我把8005改成8006 -->
<Server port="8005" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- 这里我把8080改成8081 -->
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
<!-- 这里我把8009改成8010 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

重启三个tomcat

修改nginx.conf(上面已经配置过,直接在此基础上修改)

server {listen          80;server_name     www.qidaochina.com;location / {proxy_pass    http://127.0.0.1:8081;index   index.html index.htm;}
}server {listen          80;server_name     ccmp.qidaochina.com;location / {proxy_pass    http://127.0.0.1:8080;index  index.html index.htm;}
}server {listen          80;server_name     xwgk.qidaochina.com;location / {proxy_pass    http://127.0.0.1:8082;index   index.html index.htm;}
}

其实就是把root改成了proxy_pass。这样就能把请求转发到对应的tomcat去处理。

本来想直接把项目名改成ROOT(tomcat的默认显示项目),但发现报错500,于是放弃了这种想法,而是更改ROOT下面的index.jsp.

<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /></head><body><script type="text/javascript">window.location.href="../CodeliuDemo/index.html";</script></body>
</html>

这样就ok了。

关注微信公众号:秃头哥编程(ID:xp_1311664842),领取编程大礼包。

使用nginx配置二级域名相关推荐

  1. nginx 配置二级域名(阿里云)

    使用 nginx 配置二级域名,只需要在 nginx.conf 文件中添加如下配置即可 server {listen 80;server_name music.finance.com;location ...

  2. ruoyi-vue Nginx配置二级域名

    一.前言 若依官网项目部署手册,前端部署到80端口一级域名下的.一级域名官网占用,这时就需要配置二级域名. 二.ruoyi-ui 前端vue配置 2.1 配置vue.config.js 修改publi ...

  3. nginx配置二级域名

    我在我的服务器上面跑了两个node应用程序,分别一个端口2368跑的是ghost博客,一个端口8000跑的是我的demo程序.想要一级域名zhangruojun.com用来访问博客,二级域名demo. ...

  4. Nginx配置二级域名来实现多个站点

    1.解析域名 以dinganan.cn为例,进入域名解析管理,解析为:blog.dinganan.cn,如下图: 在cmd命令窗口输入:ping blog.dinganan.cn,回车,若解析成功,如 ...

  5. 二级域名配置以及nginx解析二级域名到html页面

    此文章适合发布前端项目使用,如果想要配置二级域名到后端服务,可以查看这篇文章:nginx配置二级域名 - 简书 在阿里云上配置二级域名,就是添加一条记录就可以了,超级简单,不懂的可以看后面的解释说明, ...

  6. 利用nginx泛域名解析配置二级域名和多域名

    利用nginx泛域名解析配置二级域名和多域名网站的目录结构为 html ├── bbs └── wwwhtml为nginx的安装目录下默认的存放源代码的路径.bbs为论坛程序源代码路径 www为主页程 ...

  7. 阿里云配置二级域名与nginx代理踩坑

    之前一直想配置一个二级域名.过程中踩了一些坑.现记录下来也给自己一个总结. 1 配置二级域名 配置二级域名,也就是我们在主域名下分发一个域名.比如 www.baidu.com ,我们想配置一个www. ...

  8. NGINX免费配置二级域名及同时开启HTTPS(HTTP强制转HTTPS)nodejs的express后端项目,前端next.js的SSR项目

    最近在做web3的创业项目,需要给第三方提供API接口需要配置二级域名:整个过程遇到了一系列问题都一一解决了,记录下整个过程: 二级域名是可以不开启HTTPS的,直接用HTTP也行,开启HTTPS后配 ...

  9. nginx设置 二级域名 指定端口

    我的服务器跑着不同的应用,今天在做微信相关的程序,所以需要配置二级域名wx,配置如下,重启nginx生效. server {listen 80;server_name wx.caowei.wang;l ...

  10. Nginx实现二级域名店铺

    一般B2C或者C2C商城项目都会有二级域名店铺这个需求,本文利用Nginx实现二级域名店铺. 二级域名只访问店铺的首页,商品页依然采用www域名 Nginx配置如下: server {listen 0 ...

最新文章

  1. python字符串的美化_python字符串格式化
  2. Monitor Asynchronous Apex
  3. 海量数据实时在线分析QuickBI
  4. 从大学生到职场人,一段深刻的思维认知升级补丁
  5. java好学还是ui好学_java编程和ui设计哪个好学?
  6. matlab的exec程序,C++调用Matlab画图的一段程序
  7. Could not create directory F:\Qt\Test\Error in Util.asciify(build-First_02-Desktop_Qt_5_6_3_Min
  8. 简单的线程同步问题:两个线程交替执行N次【Synchronized、Lock、ArrayBlockingQueue】...
  9. 翁恺老师C语言学习笔记(八)数组
  10. vue省市区三级选择的实现
  11. php mysql 手机归属地_PHP 手机号码归属地查询代码 (API 接口 / mysql)
  12. 如何去除计算机病毒,怎么清除计算机病毒
  13. 【Scratch】进阶篇-《Scratch游戏开发》超级躲避球
  14. 计算机病毒级防范措施总结,计算机病毒及防范措施
  15. 我,程序员,32岁失业后干啥都赔钱,过去月薪2万的岁月不再重来 你呢?
  16. 东京奥组委公布奥运志愿者和城市志愿者昵称
  17. 怎么把vue改写成html,vue将字符串转为为html
  18. 在屏幕坐标和窗口坐标之见的转换
  19. (C语言)汉诺塔与受限汉诺塔
  20. JAVA 定时器的Cron表达式详解

热门文章

  1. CRMEB制作docker-compose
  2. 手机端(移动端)UI框架整理
  3. 5类6类7类网线对比_超五类、六类、七类网线竟然有这么多不同之处
  4. seafile专业版集成微软的office online实现在线协同编辑
  5. Photoshop 更换证件照底色
  6. html怎么键tab键,tab键的html
  7. html超链接调用js函数,在html中引入外部js文件,并调用带参函数的方法
  8. 国际贸易结算-信用证流程图
  9. Win10登陆界面卡住,进去后无法打开网络相关的设置,谷歌浏览器无法上网
  10. android仿微信的开门效果