概述:在一台服务器通过nginx+tomcat实现部署多个站点。nginx作为反向代理,tomcat作为web服务器。
###1,jdk8安装
1) 从官方下载安装包,上传服务器
2) 文件/etc/profile 配置环境变量
1
2
3
4
export JAVA_HOME= jdk包所在路径
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
3) source /etc/profile 使配置生效
4) java -version 验证是否生效
###2,nginx 安装配置
1) apt install nginx
nginx -v
2) 依据需要配置多个server进行反向代理
1
2
3
4
5
6
7
8
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
###3,tomcat安装
1) 官网下载安装包,上传服务器
2) 在webapps同级新建对应反向代理的主机站点目录,为了后面访问时不带项目目录。
3) 配置 conf/server.xml
1
2
3
<Host name="yourdomain.com" appBase="webapp_directory" autoDeploy="true" unpackWARs="true">
<Context path="" docBase="youappdirectory" reloadable="true" />
</Host>
将localhost 注释掉,重新新建多个host。host代表一个虚拟主机。这样做的目标避免tomcat 将一个应用开启多次。
4) /bin/shudown.sh 关闭tomcat
/bin/start.sh 开启tomcat
###4,其他
1) 报错: 无法生成验证码
Could not initialize class java.awt.image.BufferedImage
在 bin/catalina.sh中加入以下参数
-Djava.awt.headless=true \
2) 127.0.0.1/manger 避免一个项目被启动多次。