tomcat_jdk安装,安装zrlog,nginx代理tomcat,第二个java应用

巧了我就是萌 提交于 2019-12-11 00:03:05

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

tomcat_jdk安装

  • 要跑tomcat 首先要安装 jdk
  • jdk 有两个版本
  • 一个是 open jdk,一个是 oracle jdk
  • open jdk 是 oracle jdk 的开源版本
  • 两个版本都可以使用
  • 这次实验先使用 open jdk 来做
  • 如果要使用 oracle jdk 可以在 oracle 官网下载
  • centOS 使用 yum 就可以直接安装 open jdk
  • 首先 yum list | grep openjdk 查看 jdk 的安装包有哪些
  • 如图,安装 1.8 版本的 jdk
  • 使用 yum install -y ... 安装
  • 也可以安装更新的版本
  • 安装完成后
  • 去 tomcat 官网下载 tomcat软件
  • 如图,这是 tomcat 官网
  • 下载最新的 tomcat 9
  • 如图,下载二进制包,而不是源码包,这样不用编译方便一些
  • 下载 tar.gz 格式的二进制包
  • cd /usr/local/src/
  • 使用 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.29/bin/apache-tomcat-9.0.29.tar.gz
  • 下载二进制包
  • 使用 tar zxf apache-tomcat-9.0.29.tar.gz 解压缩二进制包
  • 然后使用 mv mv apache-tomcat-9.0.29 /usr/local/tomcat/
  • 把目录内容移动到 /usr/local/tomcat/ 目录内
  • 如图,使用 /usr/local/tomcat/bin/startup.sh 启动 tomcat 服务
  • 如图,tomcat 有三个端口,分别是 8009,8005,8080
  • 8080 是web应用 跟tomcat 通信的端口
  • 8005 是管理端口,用户管理tomcat就用这个端口
  • 8009 是 ajp 端口,第三方应用与tomcat 组合使用的时候就使用这个端口通信

安装zrlog

  • zrlog 是一款开源的 java 应用,博客系统
  • https://www.zrlog.com/
  • 上面是官网网址,在官网下载程序
  • 如图,直接点下载就可以开始下载了
  • 复制下载地址
  • cd /usr/local/src
  • 使用 wget 下载到目录里面
  • 如图这是下载好的文件
  • 如图,使用 mv 命令把压缩包移动到 /usr/local/tomcat/webapps/ 目录内
  • 可以看到,移动到这个目录之后,压缩包就自动解压缩了
  • 然后把解压缩的目录更一下名称 mv xxx zrlog 改成 zrlog
  • 要从浏览器访问 tomcat 还需要放开 8080 端口
  • firewall-cmd --add-port=8080/tcp --permanent
  • 使用以上命令开放 8080 端口
  • 然后 firewall-cmd --reload 重载配置文件
  • 如图,输入 ip:8080 就可以访问到 tomcat 的默认页面
  • 如图,把 ROOT 目录名称修改为 ROOT.bak
  • 把 zrlog 目录名称修改为 ROOT
  • 因为 tomcat 默认的访问目录就是 ROOT 目录
  • 这个 tomcat 服务器是专门用作 zrlog 的服务器
  • 所以把 zrlog 目录名称修改为 ROOT
  • 这样 zrlog 网站就是 tomcat 服务器的默认网站了
  • 这样直接访问tomcat 就可以访问到 zrlog 网站
  • 如图,直接访问服务器 ip:8080 就默认访问到 zrlog 的安装页面了
  • 需要输入数据库的相关信息,所以需要去创建数据库
  • mysql -uroot -p123456 -e "create database zrlog"
  • 使用以上名称创建 zrlog 数据库
  • mysql -uroot -p123456 -e "grant all on zrlog.* to 'zrlog'@'127.0.0.1' identified by 'zrlog'"
  • 使用以上命令赋予权限
  • 命令的意思是 用户 zrlog ip 127.0.0.1 拥有访问 zrlog数据库所有表的权限
  • 密码是 zrlog
  • 也就是说可以使用 mysql -uzrlog -pzrlog -h127.0.0.1 访问 zrlog 数据库
  • 如图,填写刚才创建的数据库的信息
  • 用户是 zrlog 地址是 127.0.0.1 数据库名称是 zrlog 密码也是 zrlog
  • 然后就可以下一步了
  • 如图,账号密码随便设置一下,都为 admin
  • 邮箱自定义一个
  • 标题,子标题也 自定义一个
  • 然后下一步
  • 如图,这样就成功安装好 zrlog 博客了

nginx代理tomcat

  • 现在要配置 nginx 反向代理 tomcat

  • 虽然 tomcat 也可以配置域名访问

  • 但是 nginx 已经监听了 80 端口

  • 如果 tomcat 也监听 80 端口

  • 这样就会产生端口冲突

  • 所以只能让 nginx 监听 80 端口

  • 然后通过 nginx 反向代理来访问tomcat上面的网站

  • nginx 静态请求访问速度比 tomcat 快

  • 所以还是以 nginx 为主

  • cd /etc/nginx/conf.d/

  • vi zrlog.conf 编辑一个空的配置文件 ` server{

      server_name zrblog.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;
      }
    

}

`

  • 然后把上面的代码复制进去
  • 上面代码就是反向代理到 tomcat 8080端口
  • 域名是 zr_tomblog.com
  • 然后保存退出
  • 然后 nginx -t && nginx -s reload 重载配置文件
  • 找到 windows 的 hosts 文件
  • 把新定义的域名与服务器 ip 绑定
  • 从浏览器访问 zrblog.com
  • 如图,成功访问了

第二个java应用

  • tomcat 可以配置多个虚拟服务器
  • 首先把之前的 ROOT.bak 改回 ROOT
  • ROOT 改回 zrlog
  • cd /usr/local/tomcat/conf/
  • vi server.xml
  • 这个文件是配置虚拟主机的文件
  • 如图,host 标签可以定义新的虚拟主机
  • 把图中的 host 标签复制粘贴到下面一行
  • host 标签是一对的,开头和结尾
  • 如图,name 的值是网站域名
  • appBase 的值是网站的目录
  • 然后保存退出
  • 如图,执行 /usr/local/tomcat/bin/shutdown.sh 文件关闭tomcat服务
  • ps aux |grep java 查看进程是否关闭
  • 如果关闭了,再执行 /usr/local/tomcat/bin/startup.sh 开启tomcat服务
  • 如图,cd 进入 /data/ 目录,发现 zrblog 目录已经自动创建了
  • cd /usr/local/tomcat/webapps
  • 如图,把 war 包改名为 zrlog.war
  • 然后 cp zrlog.war /data/zrblog/
  • 把 war 包复制到 /data/zrblog/ 目录
  • 可以看到,把war包复制进入这个目录
  • war包就已经自动解压缩了
  • 然后把自动解压的 zrlog 目录改名为 ROOT
  • 然后把 war 包删除
  • 不删除的话,解压目录名称如果修改了
  • war包会继续解压一个新的同名目录出来,所以要删除
  • rm -f zrlog.war
  • 这样就只剩下 ROOT 目录了
  • 因为虚拟机默认访问的就是 ROOT 目录
  • 所以把网站的目录名称设置为 ROOT
  • 这样虚拟主机默认网站就是 zrlog 了
  • 如图,访问 zrblog.com:8080 就直接访问到安装页面了
  • 因为设置了反向代理,直接访问 zrblog.com 也可以访问到
  • 如果不想通过 nginx 反向代理
  • 就在 域名后面加上 :8080 直接访问tomcat
  • 这样访问请求就是直接到 tomcat 那里,而不是由nginx 转发
  • 除了这种修改配置文件,增加第二个虚拟主机的办法之外
  • 如果要运行多个网站
  • 还可以使用 运行多个tomcat 服务的方法来运行多个网站
  • 首先,cd /usr/local/ 进入这个目录
  • 然后 cp tomcat tomcat02 把原来的tomcat 目录复制一个并改名
  • 然后进入 tomcat02/conf/ 目录下面
  • 修改 server.xml
  • 如果运行两个 tomcat,这两个tomcat的端口不能是一样的
  • 不然就会造成端口冲突
  • 所以要进入 server.xml 文件里面把 端口号码修改一下
  • 如图,vi server.xml 然后 /8009 搜索关键字
  • 找到这里,括号内有 !-- 是注释
  • 没有的才是运行的代码
  • 把 connector port='8009' 这一行代码删除
  • 因为 第二个tomcat 不需要这一个第三方软件的通信端口
  • 然后搜索关键字 /8080 和 /8005
  • 把相关的参数修改为别的端口号
  • 比如 8081 和 8006
  • 如图,这两个地方端口号要修改为别的
  • 因为是复制之前的tomcat目录
  • 所以之前在 server.xml 里面添加的 zrblog 的 host标签也需要删除掉
  • 然后保存退出
  • 使用 tomcat02/bin/startup.sh 开启第二个tomcat
  • 可以使用 netstat -lntp | grep java 查看端口是否监听
  • 还需要防火墙放开 修改的 端口号才能正常使用
  • firewall-cmd --add-port=8081/tcp --permanent
  • firewall-cmd --reload
  • 这样就开放了 8081端口
  • 然后第二个网站就直接丢到 ROOT 目录里面
  • 这样访问第二个tomcat 就默认访问到第二个网站了
  • ROOT目录里面原来的文件可以全部删除

  • tomcat 重启比较慢
  • 因为重启的时候会调用系统的 /dev/random 文件
  • 这个文件有阻塞的效果,所以会比较慢
  • 因此要修改为使用另外一个文件 /dev/urandom
  • 这个文件就不会有阻塞的效果,重启就会比较快
  • vi /usr/lib/jvm/jre/lib/security/java.security
  • openjdk 编辑这个文件,来修改使用 /dev/urandom 文件重启
  • 搜索 /random 找到上图中这一行代码
  • 把 random 修改为 urandom
  • 然后保存退出
  • 这样tomcat 以后重启就会使用 /dev/urandom 文件了
  • 以后转好tomcat后,第一件事就应该把这个文件修改为 urandom
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!