Centos7.3_64位服务器下搭建Nginx+Tomcat多域名多站点访问

1.服务器使用的是阿里云服务器,系统为Centos7.3_64

2.首先你需要有多个域名,才会有这样的需求,其次你的服务器配置要足够,能够满足同时运行多站点的需求,否则请出门左转,本文章不适合你。

3.首先进行yum源更新,运行命令

yum   -y     update

4.需要使用Tomcat就要先配置Java环境

官网下载JDK压缩包:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

运行命令:tar    -zxvf    jdk-8u151-linux-x64.tar.gz

将解压后的文件拷贝到 /usr/share/

cp   -r    jdk1.8.0_151   /usr/share/

配置JAVA_HOME、JRE_HOME

vim   /etc/profile

在最后面加上:

JAVA_HOME=/usr/share/jdk1.8.0_151
export JRE_HOME=/usr/share/jdk1.8.0_151/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

运行命令使环境立刻生效:

source       /etc/profile

检查环境配置:

java

javac

java   -version

这里不用多说了,有正常反应就表示配置正常

5.安装Tomcat

官网下载Tomcat:http://tomcat.apache.org/  (版本你自己随意,最好下载7以上)

解压Tomcat压缩包:

tar  -zxvf    apache-tomcat-9.0.0.M18.tar.gz

mv   apache-tomcat-9.0.0.M18     tomcat (改文件夹的名字,这个你随意)

设置Tomcat的sh脚本执行权限

cd    tomcat/bin

chmod    +x   *.sh

开启Tomcat,检测是否正常:

./startup.sh    Tomcat的开启命令,这里是在bin目录下运行

./shutdown.sh    Tomcat的停止命令,同样要在bin目录下

Tomcat默认的是8080端口,访问的时候要保证你已经开启了80端口的防火墙,是阿里云服务器的话还要配置80端口的安全组

访问地址:http://你服务器的IP地址:8080

如果出现猫的图像的话就没问题了

6.安装Nginx

yum   -y   install   nginx 

这里基本没什么问题,有意外的话自行解决。

7.配置Nginx+Tomcat

假设你需要配置两个站点,分别是aaa和bbb,域名分别是aaa.com和bbb.com  (自己对号入座哈)

首先配置Tomcat的server.xml文件

vim   /tomcat/conf/server.xml

内容如下


<Host name="aaa.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Alias>aaa.com</Alias>
    <Alias>www.aaa.com</Alias>
    <Context path="" reloadable="true" docBase="aaa" />
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="aaa_log." suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>


<Host name="bbb.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Alias>bbb.com</Alias>
    <Alias>www.bbb.com</Alias>
    <Context path="" reloadable="true" docBase="bbb" />
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="bbb_log." suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

这里要注意的是aaa和bbb对应项目的文件夹都需要放在Tomcat下的webapps目录下面



然后配置Nginx:

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


http {
    server {
        listen       80;
        server_name  aaa.com   www.aaa.com;
        index        index.html;
        root         Tomcat安装目录/webapps/aaa;
        location / {
            proxy_pass   http://www.aaa.com;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        access_log   /data/logs/aaa.log;
    }
    server {
        listen       80;
        server_name  bbb.com www.bbb.com;
        index        index.jsp;
        root         Tomcat安装目录/webapps/bbb;
        location / {
            proxy_pass   http://www.bbb.com;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        access_log   /data/logs/bbb.log;
    }
}


这里要注意的是,我配置的Tomcat和Nginx都是80端口,可以根据你自己的需要来修改端口


最后启动Tomcat和Nginx就可以了,通过不同的域名访问,会读取不同的站点信息,可以根据自己的需要增加和修改配置


阅读更多

没有更多推荐了,返回首页