2019-02-18笔记—JAVA网站搭建(zrlog)

搭建一个java环境的博客网站(zrlog)需要tomcat(是一个运行java网站的容器),tomcat的运行需要支持java运行的虚拟机(jvm)—所以需要先安装jdk

  1. 安装jdk和tomcat
[root@linux2019 src]# yum list |grep jdk
[root@linux2019 src]# yum install -y java-1.8.0-openjdk
[root@linux2019 src]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.16/bin/apache-tomcat-9.0.16.tar.gz
[root@linux2019 src]# tar zxvf apache-tomcat-9.0.16.tar.gz
[root@linux2019 src]# mv apache-tomcat-9.0.16 /usr/local/tomcat
[root@linux2019 src]# /usr/local/tomcat/bin/startup.sh

查看进程

[root@linux2019 src]# ps aux|grep java  #或者ps aux |grep tomcat
root       8401  1.4  5.9 3064980 120836 pts/2  Sl   16:17   0:12 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       8530  0.0  0.0 112724   988 pts/2    S+   16:31   0:00 grep --color=auto java

[root@linux2019 src]# netstat -ltnp |grep java
tcp6       0      0 :::8009                 :::*                    LISTEN      8401/java           
tcp6       0      0 :::8080                 :::*                    LISTEN      8401/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      8401/java 
[root@linux2019 src]# iptables -nvL|grep 8080
[root@linux2019 src]# firewall-cmd --add-port=8080/tcp --permanent
success
[root@linux2019 src]# firewall-cmd --reload
success
[root@linux2019 src]# curl http://192.168.85.129:8080 -I
HTTP/1.1 200 
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 14 Feb 2019 08:45:38 GMT
  • 8080为WEB端口
  • 8005 shutdown(管理端口)
  • 8009 AJP端口(第三方的应用连接这个接口,和Tomcat结合起来)
  1. 安装zrlog博客网站程序
[root@linux2019 src]# wget http://dl.zrlog.com/release/zrlog-2.1.0-3617b2e-release.war?attname=ROOT.war&ref=index
[root@linux2019 src]# mv zrlog-2.1.0-3617b2e-release.war\?attname\=ROOT.war zrlog-2.1.0.war
[root@linux2019 src]#mv zrlog-2.1.0.war  /usr/local/tomcat/webapps/  #不需要手动解压,放入目标文件路径下会自动解压
[root@linux2019 webapps]# mv zrlog-2.1.0 zrlog
[root@linux2019 webapps]# mv ROOT ROOT.bak
[root@linux2019 webapps]# mv zrlog ROOT
[root@linux2019 webapps]# ll
总用量 10136
drwxr-x--- 14 root root     4096 2月  14 16:17 docs
drwxr-x---  6 root root       83 2月  14 16:17 examples
drwxr-x---  5 root root       87 2月  14 16:17 host-manager
drwxr-x---  5 root root      103 2月  14 16:17 manager
drwxr-x---  8 root root      111 2月  14 16:40 ROOT
drwxr-x---  3 root root      283 2月  14 16:17 ROOT.bak
drwxr-x---  8 root root      111 2月  14 16:40 zrlog-2.1.0
-rw-r--r--  1 root root 10373409 1月   1 23:29 zrlog-2.1.0.war

PS:访问zrlog网站后台实际访问的是/usr/local/tomcat/webapps/ROOT/目录文件,所以直接将zrlog目录重命名成ROOT

创建zrlog数据库和用户

MariaDB [(none)]> create database zrlog;
Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]> grant all on zrlog.* to 'zrlog'@'127.0.0.1'  identified by 'yourpassword';
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| bbs                |
| blog               |
| information_schema |
| mysql              |
| performance_schema |
| zrlog              |
+--------------------+
6 rows in set (0.002 sec)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 设置nginx代理tomcat

为什么要为Tomcat配置反向代理?

  • 我们需要把8080端口变成80端口(一般访问网站都是以域名的形式,IP加端口的形式不推荐)
  • 如果同一台机器又有Nginx又有Tomcat,则会产生端口冲突。
  • Nginx对于静态的请求速度上要优于Tomcat,Tomcat不擅长做高并发的静态文件请求处理
[root@linux2019 conf.d]# vi zrlog.aibenwoniu.xyz.conf 
server{

	server_name zrlog.aibenwoniu.xyz;

	location /
    	{
        	proxy_pass http://127.0.0.1:8080;   #实际需要访问的内网IP
        	proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    	}

}

测试

[root@linux2019 conf.d]# curl -x127.0.0.1:8080 zrlog.aibenwoniu.xyz -I
HTTP/1.1 200 
X-ZrLog: 2.1.0
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 15 Feb 2019 04:00:49 GMT

部署第二个Java应用

部署方式类似与nginx应用部署(IP/端口/域名)

  1. 基于域名
#修改配置文件,添加host域名
[root@linux2019 conf]# cd /usr/local/tomcat/conf/
[root@linux2019 conf]# vi server.xml 
<Host name="ztow.aibenwoniu.xyz"    #添加host域名配置 appBase="/data/wwwroot/ztow.aibenwoniu.xyz"
        unpackWARs="true" autoDeploy="true">
</Host>
#配置的appbase目录不需要手动创建,重启tomcat服务后会自动创建
[root@linux2019 conf]# /usr/local/tomcat/bin/shutdown.sh 
[root@linux2019 conf]# /usr/local/tomcat/bin/startup.sh 
[root@linux2019 conf]# netstat -tnlp|grep java
[root@linux2019 conf]# ps aux|grep java
#拷贝java应用的war包到webapps目录下
[root@linux2019 conf]# cd /usr/local/tomcat/webapps/
[root@linux2019 conf]# cp zrlog-2.1.0.war  /data/wwwroot/ztow.aibenwoniu.xyz/
[root@linux2019 conf]# cd /data/wwwroot/ztow.aibenwoniu.xyz/
[root@linux2019 ztow.aibenwoniu.xyz]# mv zrlog-2.1.0 ROOT; rm -f zrlog-2.1.0.war 
#curl测试
[root@linux2019 local]# curl -x127.0.0.1:8080 -I ztow.aibenowniu.xyz
HTTP/1.1 200 
X-ZrLog: 2.1.0
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 15 Feb 2019 09:16:25 GMT
#网页访问ztow.aibenwoniu.xyz:8080安装应用
  1. 基于端口
    拷贝一个tomcat目录,修改server.xml里面的三个端口配置(其中8009端口可以删掉,8080和8005端口其他自定义端口)
[root@linux2019 ztow.aibenwoniu.xyz]# cd /usr/local/
[root@linux2019 local]# cp -r tomcat/ tomcat_2
[root@linux2019 local]# vim tomcat_2/conf/server.xml 
#删除之前新加的host域名配置,默认的host域名配置可以自定义,此次实验环境保持默认,修改默认的三个端口配置
#删除8009端口配置
#修改8080为8081
#修改8005为8006
[root@linux2019 local]# /usr/local/tomcat_2/bin/startup.sh
[root@linux2019 local]# firewall-cmd --add-port=8081/tcp --permanent
[root@linux2019 local]# firewall-cmd --reload
[root@linux2019 local]# ps aux |grep java
[root@linux2019 local]# netstat -ltnp|grep java
#curl测试
[root@linux2019 local]# curl -x127.0.0.1:8081 -I zrlog.aibenowniu.xyz
HTTP/1.1 200 
X-ZrLog: 2.1.0
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 15 Feb 2019 09:14:42 GMT
#网页访问zrlog.aibenwoniu.xyz:8081
  1. 基于IP(更换IP网卡)

PS

通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是"SHA1PRNG",这个算法的提供者在底层依赖到操作系统提供的随机数据,在linux上,与之相关的是/dev/random和/dev/urandom。/dev/random设备会返回小于熵池噪声总数的随机字节。/dev/random可生成高随机性的公钥或一次性密码本。若熵池空了,对/dev/random的读操作将会被阻塞,直到收集到了足够的环境噪声为止,而 /dev/urandom则是一个非阻塞的发生器。它是/dev/random的一个副本,它会重复使用熵池中的数据以产生伪随机数据。这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random。总之,8005端口启动慢就是因为JVM调用了系统的/dev/random设备生成随机数,而/dev/random生成随机数时被block了,自然就会导致8005端口启动慢,解决办法是不使用/dev/random,而是使用/dev/urandom。具体步骤如下:

#vim $JAVA_HOME/jre/lib/security/java.security

将securerandom.source=file:/dev/random
改为securerandom.source=file:/dev/urandom

关于$JAVA_HOME路径

如果是openjdk(yum安装的),在/usr/lib/jvm/
如果是下载的二进制包,就是jdk的主目录(如/usr/local/jdk_1.8)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值