【推荐】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
来源:oschina
链接:https://my.oschina.net/u/4150462/blog/3141528