使用nginx配置二级域名

使用nginx配置二级域名最近想把三个项目配在一个服务器上,于是想使用nginx配置二级域名实现。1.域名添加解析我的是阿里云的域名,所以首先给自己的域名添加解析。打算使用www.codeliu.com,test1.codeliu.com,test2.codeliu.com这三个域名,其中test1.codeliu.com,test2.codeliu.com作为二级域名。2.准备好三个项目ecl…

大家好,又见面了,我是你们的朋友全栈君。

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

1.域名添加解析

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

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

解析www.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),领取编程大礼包。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143332.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 人工智能猴子摘香蕉问题状态过程_人工智能原理猴子吃香蕉问题

    人工智能猴子摘香蕉问题状态过程_人工智能原理猴子吃香蕉问题题目:利用一阶谓词逻辑求解猴子摘香蕉问题:房内有一个猴子,一个箱子,天花板上挂了一串香蕉,其位置如图1所示,猴子为了拿到香蕉,它必须把箱子搬到香蕉下面,然后再爬到箱子上。请定义必要的谓词,列出问题的初始化状态(即下图所示状态),目标状态(猴子拿到了香蕉,站在箱子上,箱子位于位置b)。(附加:从初始状态到目标状态的谓词演算过程。)1.定义描述环境状态的谓词。AT(x,w):x在w处,个体域:x?{monkey},w?{a,b,c,box};HOLD(x,t):x手中拿着t,个体域:t?{box,ba

    2022年9月26日
    4
  • 全排列 leetcode_leetcode top100

    全排列 leetcode_leetcode top100原题链接给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题解回溯即可class Solution {public: vector<vector<int> >res; vector<int>t; void dfs(int num,int len,vecto

    2022年8月8日
    3
  • 东芝笔记本电脑重装系统按F几(戴尔笔记本重装系统)

    东芝笔记本电脑怎么重装系统?其实笔记本东芝要怎么重装系统的方法很简单,具体要怎么给东芝笔记本电脑重装系统呢?其实笔记本重装系统是非常简单的,那笔记本东芝如何重装系统呢?那下面就让小白小编给大家介绍笔记本东芝如何重装系统的解决方法吧。大家赶紧学习东芝笔记本重装系统吧。东芝笔记本重装系统方法1、去网站下载win7旗舰版镜像文件。2、使用软碟通软件把镜像文件里面的gho.win7提取到已经制…

    2022年4月13日
    145
  • signature=f382e962eb5d4f9443ff87189d12babf,CiteSeerX — from an observational study design. J Epidemi…

    signature=f382e962eb5d4f9443ff87189d12babf,CiteSeerX — from an observational study design. J Epidemi…AbstractLetterstotheEditor457outcomethanadirectinterventionbecauseofthespecificpathwayaffectedbythevariant,suchastheeffectofkringleIVtype2sizepolymorphismsonlipoprotein…

    2022年5月31日
    41
  • sqlserver数据库置疑修复语句_sql2008数据库可疑解决方法

    sqlserver数据库置疑修复语句_sql2008数据库可疑解决方法SQL数据库修复的三大核心技术:1、磁盘阵列分析重组技术;2、数据库恢复与修复技术;3、SCSI盘物理故障开盘技术。至今已经成功恢复数百台服务器的SQL数据库,用户覆盖全国。导致SQL数据库丢失的原因:1、各种原因:误删除、误格式化、断电等造成的MSSQLSERVER数据库文件破坏。2、MSSQLSERVER数据库丢失了*.ldf文件,只有一个*.MDF文件,将是非

    2022年8月20日
    29
  • c语言的单片机编曲,要的就是强大……C语言编的《最炫民族风》(转)[通俗易懂]

    c语言的单片机编曲,要的就是强大……C语言编的《最炫民族风》(转)[通俗易懂]该楼层疑似违规已被系统折叠隐藏此楼查看此楼—————————————————————————————————-以下是读入的内容————《最炫民族风》:36,s6,s132s2ss3ss2s1s2s1s6,36,s6,s135s2…

    2022年9月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号