使用nginx配置二级域名

2018.11.21 11:51:17字数 613阅读 170

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

1.域名添加解析

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

打算使用www.codeliu.comtest1.codeliu.comtest2.codeliu.com这三个域名,其中 test1.codeliu.comtest2.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 ;
server_name www.codeliu.com; location / {
root /usr/lib/apache-tomcat-8.5./webapps/CodeliuDemo;
index index.html index.htm;
}
} server {
listen ;
server_name test1.codeliu.com; location / {
root /usr/lib/apache-tomcat-8.5./webapps/Test1Demo;
index index.html index.htm;
}
} server {
listen ;
server_name test2.codeliu.com; location / {
root /usr/lib/apache-tomcat-8.5./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="" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- 这里我把8080改成8081 -->
<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" />
<!-- 这里我把8009改成8010 -->
<Connector port="" protocol="AJP/1.3" redirectPort="" />

重启三个tomcat

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

server {
listen ;
server_name www.qidaochina.com; location / {
proxy_pass http://127.0.0.1:8081;
index index.html index.htm;
}
} server {
listen ;
server_name ccmp.qidaochina.com; location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
} server {
listen ;
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了。

使用nginx配置二级域名的更多相关文章

  1. nginx配置二级域名

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

  2. thinkphp3.2.3 + nginx 配置二级域名

    使用的是阿里云centOS.74 第一步: 配置urlpath server { listen ; server_name www.xxxx.com xxxx.com; root /data/www/ ...

  3. vue+nginx配置二级域名

    [1]修改路由文件 [2]修改配置文件 [3]修改本机nginx配置文件 [4]修改服务器nginx配置文件 [5]重启nginx文件,用二级域名访问 http://192.168.199.xxx:7 ...

  4. 求助高手,Nginx配置二级域名跳转 地址栏不变咋处理?

      做域名镜像的rewrite即可rewrite ^/(.*)$ http://二级域名/$1 last;

  5. nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例

    nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例 二级域名配置 在/etc/nginx/conf.d/目录下配置二级域名同名的conf文件,路径改成对应的即可 statics. ...

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

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

  7. nginx下配置二级域名指向子目录

    今天终于把nginx的二级域名配置搞定了,哎之前在测试服务器上弄过一次,不过那个是在本地解析的hosts,把ip指向到域名上就ok,再在nginx.conf里改了下配置就好了,用同样的方法改了正式服务 ...

  8. 通过Nginx为网站配置二级域名

    目录 配置域名解析 配置Nginx 重启Nginx 补充 需求:服务器上面运行多个项目:实现每个二级域名访问对应项目: 服务器:阿里云服务器:域名:阿里云注册: 配置域名解析 即配置DNS解析.一定要 ...

  9. Nginx配置同一个域名同时支持http与https两种方式访问

    Nginx配置同一个域名http与https两种方式都可访问,证书是阿里云上免费申请的 server{listen 80;listen 443 ssl;ssl on;server_name 域名;in ...

随机推荐

  1. [CSP-S模拟测试]:Six(数学)

    题目传送门(内部题85) 输入格式 一个正整数$N$. 输出格式 一个数表示答案对$1000000007$取模后的结果 样例 样例输入1: 样例输出1: 样例输入2: 样例输出2: 样例输入3: 样例 ...

  2. 通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool

    一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使 ...

  3. 一款基于CSS3漂亮的按钮

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  4. php 判断字符串包含

    PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用.PHP判断字符串的包含,可以使用PHP的内置函数 strstr,strpos,stristr直接进行判断.也可以通过e ...

  5. [NN] Guided Backpropgation 可视化

    Pytorch Guided Backpropgation Intro guided backpropgation通过修改RELU的梯度反传,使得小于0的部分不反传,只传播大于0的部分,这样到第一个c ...

  6. sed扩展命令使用

    [root@b ~]# cat f.txt inet addr:192.168.0.110 Bcast:192.168.0.255 Mask:255.255.255.0[root@b ~]# cat ...

  7. Linux_指令杂烩

    目录 目录 指令集合 常用于脚本的指令 查看变量的指令 监控命令 除了root用户的其他用户不能login 重定向 grep 过滤文件内容 vim预设定 系统在启动时要依次运行4个脚本 归档压缩文件互 ...

  8. Linux监控命令之==>free

    一.命令说明 free 命令显示系统内存的使用情况:包括物理内存.交换内存(swap)和内核缓冲区内存 二.参数说明 -b -k -m -g:分别以字节.KB.MB.GB为单位显示内存使用情况 -l: ...

  9. 各种CNN模型

    Resnet: model_urls = { 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'res ...

  10. Linux-SSH远程管理服务实战

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...