Tomcat_JDK(搭建运行Java应用的环境)
- JAVA应用要在Linux上运行起来,需要一个JVM(Java虚拟机)
- JDK可以提供jvm的环境
- Oracle官方JDK下载地址:老的版本是不收费的,如果升级成新的版本是需要付费使用。 https://www.oracle.com/technetwork/java/javase/downloads/index.html
- CentOS7上yum安装openjdk openjdk是开源的免费的。
yum install -y java-1.8.0-openjdk
Tomcat
- Tomcat官网 http://tomcat.apache.org/
- Tomcat版本7.0 8.5 9.0
- Tomcat下载地址https://tomcat.apache.org/download-90.cgi
- 进入/usr/local/src 目录下
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.16/bin/apache-tomcat-9.0.16.tar.gz
- 安装Tomcat 解压下载好的压缩包
[root@localhost src]# tar zxvf apache-tomcat-9.0.16.tar.gz
- 将解压好的目录移动至/usr/local/下,重命名为tomcat
mv apache-tomcat-9.0.16 /usr/local/tomcat
- 启动Tomcat
/usr/local/tomcat/bin/startup.sh
- 查看Tomcat的进程,以下两个命令都可以
ps aux |grep tomcat
ps aux |grep java
- 查看监听的端口
[root@localhost src]# netstat -lntp |grep java
tcp6 0 0 :::8009 :::* LISTEN 11711/java
tcp6 0 0 :::8080 :::* LISTEN 11711/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 11711/java
- 8080端口是Tomcat提供web服务的端口
- 8009端口是AJP端口(第三方的应用连接这个端口,和Tomcat结合起来)
- 8005shutdown(管理端口)
zrlog安装
- zrlog 是一款开源的JAVA应用,博客系统 官网: https://www.zrlog.com/
- 下载zrlog
wget 'http://dl.zrlog.com/release/zrlog-2.1.0-3617b2e-release.war?attname=ROOT.war&ref=index'
- 将下载好的文件改名为zrlog-2.1.0.war
mv zrlog-2.1.0-3617b2e-release.war\?attname\=ROOT.war\&ref\=index zrlog-2.1.0.war
- 将zrlog-2.1.0.war文件移动至/usr/local/tomcat/webapps/目录下
mv zrlog-2.1.0.war /usr/local/tomcat/webapps/
- 进入到webapps目录下,将原ROOT目录改名,将zrlog-2.1.0目录改名为ROOT
[root@localhost webapps]# mv ROOT ROOT.bak
[root@localhost webapps]# mv zrlog-2.1.0 ROOT
- 将8080端口加入firewalld防火墙规则中
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
- 使用浏览器访问ip地址:8080 ,会出现zrlog安装向导界面,需要先登录MariaDB,创建相应的数据库等操作
create database zrlog; #创建数据库
grant all on zrlog.* to 'zrlog'@'127.0.0.1' identified by 'zrlog-pass'; # 针对zrlog库创建用户zrlog和密码。
- 在浏览器中按照之前创建的库和用户名将安装过程完成。
nginx代理Tomcat
- 为什么要nginx代理Tomcat?
如果同一台机器又有Nginx又有Tomcat,则会产生端口冲突。
我们需要把8080端口变成80端口
Nginx对于静态的请求速度上要优于Tomcat,Tomcat不擅长做高并发的静态文件请求处理
- 配置nginx代理
- 创建一个配置文件zrlog.conf,在配置文件中写入以下内容
server {
server_name z.aaa.com;
location /
{
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
- 测试配置文件是否有语法错误并重载配置文件
nginx -t
nginx -s reload
- 将域名写到hosts文件中(现实生产中是做域名解析)
- 这样就使用浏览器访问域名就可以访问到我们的站点了,如果需要用户认证、配置静态文件过期时间等可以在配置文件中添加相应内容。