Java Install

snow chuai汇总、整理、撰写---2020/07/26


1. OpenJDK 8安装与验证
1) 安装OpenJDK 8
[root@srv1 ~]# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
[root@srv1 ~]# cat > /etc/profile.d/java8.sh << 'EOF' export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac))))) export PATH=\$PATH:\$JAVA_HOME/bin export CLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar EOF
[root@srv1 ~]# source /etc/profile.d/java8.sh
2) 验证OpenJDK 8 [root@srv1 ~]# java -version openjdk version "1.8.0_262" OpenJDK Runtime Environment (build 1.8.0_262-b10) OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
[root@srv1 ~]# cat > java_test.java <<'EOF' class java_test { public static void main(String[] args) { System.out.println("Hello Java World !"); } } EOF
[root@srv1 ~]# javac java_test.java [root@srv1 ~]# java java_test Hello Java World !
3) 如果有多个OpenJDK版本,可切换至OpenJDK 8 [root@srv1 ~]# alternatives --config java
There is 1 program that provides 'java'.
Selection Command ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el8_2.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number: 1
2. OpenJDK 11安装与验证
1) 安装OpenJDK 11
[root@srv1 ~]# yum install java-11-openjdk java-11-openjdk-devel -y
[root@srv1 ~]# cat > /etc/profile.d/java11.sh << 'EOF' export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac))))) export PATH=\$PATH:\$JAVA_HOME/bin EOF
[root@srv1 ~]# source /etc/profile.d/java11.sh
2) 验证OpenJDK 11 [root@srv1 ~]# java --version openjdk 11.0.8 2020-07-14 LTS OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)
[root@srv1 ~]# cat > java_test.java <<'EOF' class java_test { public static void main(String[] args) { System.out.println("Hello Java World !"); } } EOF
[root@srv1 ~]# javac java_test.java [root@srv1 ~]# java java_test Hello Java World !
3) 如果有多个OpenJDK版本,可切换至OpenJDK 11 [root@srv1 ~]# alternatives --config java
There is 1 program that provides 'java'.
Selection Command ----------------------------------------------- *+ 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64/bin/java)
Enter to keep the current selection[+], or type selection number: 1
3. Tomcat 9 安装与验证
1) 安装好Open JDK
2) 下载Tomcat 9
[root@srv1 ~]# curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
[root@srv1 ~]# tar xfz apache-tomcat-9.0.37.tar.gz
[root@srv1 ~]# mv apache-tomcat-9.0.37 /usr/libexec/tomcat9 [root@srv1 ~]# useradd -M -d /usr/libexec/tomcat9 tomcat [root@srv1 ~]# chown -R tomcat. /usr/libexec/tomcat9
3) 制作启动服务文件 [root@srv1 ~]# vim /usr/lib/systemd/system/tomcat9.service [Unit] Description=Apache Tomcat 9 After=network.target
[Service] Type=oneshot ExecStart=/usr/libexec/tomcat9/bin/startup.sh ExecStop=/usr/libexec/tomcat9/bin/shutdown.sh RemainAfterExit=yes User=tomcat Group=tomcat
[Install] WantedBy=multi-user.target

[root@srv1 ~]# systemctl enable --now tomcat9 Created symlink /etc/systemd/system/multi-user.target.wants/tomcat9.service → /usr/lib/systemd/system/tomcat9.service.
[root@srv1 ~]# systemctl is-active tomcat9 active
4) SELinux设定 [root@srv1 ~]# vim catalinash.te module catalinash 1.0;
require { type init_t; type admin_home_t; class file { append execute execute_no_trans ioctl open read }; }
#============= init_t ============== allow init_t admin_home_t:file { append execute execute_no_trans ioctl open read };

[root@srv1 ~]# checkmodule -m -M -o catalinash.mod catalinash.te checkmodule: loading policy configuration from zabbix_server.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 19) to catalinash.mod
[root@srv1 ~]# semodule_package --outfile catalinash.pp --module catalinash.mod [root@srv1 ~]# semodule -i catalinash.pp
5) Firewall设定 [root@srv1 ~]# firewall-cmd --add-port=8080/tcp --permanent success [root@srv1 ~]# firewall-cmd --reload success
6) 访问Tomcat [浏览器]===>http://$srv-ip:8080
7) 创建测试程序 [root@srv1 ~]# mkdir /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/classes [root@srv1 ~]# chown tomcat. /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/classes [root@srv1 ~]# cd /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/classes [root@srv1 classes]# vim daytime.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.Calendar;
public class daytime extends HttpServlet { public void doGet(HttpServletRequest request ,HttpServletResponse response)
throws IOException, ServletException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); Calendar cal = Calendar.getInstance(); out.println("<html>\n<head>\n<title>DayTime</title>\n</head>\n<body>"); out.println("<div style=\"font-size: 40px; text-align: center; font-weight: bold\">"); out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE)); out.println("</div>\n</body>\n</html>"); } }

[root@srv1 classes]# javac -classpath /usr/libexec/tomcat9/lib/servlet-api.jar daytime.java
[root@srv1 classes]# vim /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/web.xml # 于<web-app> = </web-app>区段之间追加如下内容 <servlet> <servlet-name>daytime</servlet-name> <servlet-class>daytime</servlet-class> </servlet> <servlet-mapping> <servlet-name>daytime</servlet-name> <url-pattern>/daytime</url-pattern> </servlet-mapping>
7) 访问Tomcat测试程序 [浏览器]===>http://$srv-ip:8080/daytime

8) 结合Apache (1) 开启Tomcat 8009端口 [root@tomcat ~]# vim /usr/libexec/tomcat9/conf/server.xml # 于122行,添加如下内容 <Connector address="::" port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
[root@tomcat ~]# systemctl restart tomcat9
(2) 配置Apache [root@srv1 ~]# yum install httpd -y
[root@srv1 ~]# vim /etc/httpd/conf.d/proxy_ajp.conf ProxyPass /tomcat9/ ajp://localhost:8009/
[root@srv1 ~]# systemctl enable --now httpd
(3) 访问Apache [浏览器]===>http://$srv-ip/tomcat9/ # 定要在最后的tomcat9后面增加"/"符号

[浏览器]===>http://$srv-ip/tomcat9/daytime

 

如对您有帮助,请随缘打个赏。^-^

gold