机器学习

nginx+tomcat部署web服务

概述:在一台服务器通过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 避免一个项目被启动多次。