jrejava runtime enviroment java运行环境jdkjava delelopment kit java开发环境(很多内容) = jre + 额外java工具jvm java virtual machine java虚拟机**1份代码 想在不同的系统使用**java 程序代码 运行在java虚拟机中 只要系统能有java环境(java虚拟机) 就可以运行代码**1份代码 处处使用问题 代码可移植性**对于 java虚拟机 一般关注 内存使用情况1.web03##jdk#各种版本:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/2.部署 jdk[root@oldboy-tomcat ~]# tar xf /app/tools/jdk-8u241-linux-x64.tar.gz -C /app/[root@oldboy-tomcat ~]# ln -s /app/jdk1.8.0_241/ /app/jdk3.java jdk 环境变量cat >>/etc/profile<<'EOF'export JAVA_HOME=/app/jdkexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexportCLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jarexport TOMCAT_HOME=/app/tomcatEOF[root@oldboy-tomcat ~]# . /etc/profile 运行4.检查 jdk是否部署完成[root@oldboy-tomcat ~]# java -versionjava version "1.8.0_241"Java(TM) SE Runtime Environment (build 1.8.0_241-b07)Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07,mixed mode)5.部署 tomcat[root@oldboy-tomcat ~]# tar xf /app/tools/apache�tomcat-8.5.50.tar.gz -C /app/[root@oldboy-tomcat ~]# ln -s /app/apache-tomcat�8.5.50/ /app/tomcat6.检查jdk+tomcat[root@oldboy-tomcat ~]#/app/tomcat/bin/version.shUsing CATALINA_BASE: /app/tomcatUsing CATALINA_HOME: /app/tomcatUsing CATALINA_TMPDIR: /app/tomcat/tempUsing JRE_HOME: /app/jdk太多了不写了image.png
启动tomcat[root@web01tools]#/application/tomcat/bin/startup.shUsing CATALINA_BASE: /application/tomcatUsing CATALINA_HOME: /application/tomcatUsing CATALINA_TMPDIR: /application/tomcat/tempUsing JRE_HOME: /application/jdk启动成功提示太多了不写了检查端口与服务[root@web01 tools]# ss -lntup|grep java[root@web01 tools]#ps -ef |grep javaweb访问10.0.0.7:8080image.png
image.png
*注意:tomcat 8.5 对管理端限制更严格*要配置tomcat-user.xml之外*还限制 只能在本地使用127.0.0.1 访问管理的*从tomcat8.5开始 管理端默认只能通过 本地使用 127.0.0.1 访问 (类似于nginx all 127.0.0.1 ; deny all; )*默认情况下,只能从与Tomcat运行在同一台计算机上的浏览器访问管理器。如果要修改此限制,则需要编辑管理器的context.xml文件。原文为[root@web03 /app/tomcat]# find -type f -name "context.xml" |xargs grep 127./webapps/host-manager/META-INF/context.xml: allow="127\d.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />./webapps/manager/META-INF/context.xml: allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />./webapps/host-manager/WEB-INF/manager.xml: allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />修改为[root@web03 /app/tomcat]# find -type f -name "context.xml" |xargs grep allow./webapps/host-manager/META-INF/context.xml: allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />./webapps/manager/META-INF/context.xml: allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>image.png
[root@web03 ~]# cat /app/tomcat/conf/tomcat-users.xml |grep role NOTE: By default, no user is included in the "manager-gui" role required NOTE: The sample user and role entries below are intended for use with the <role rolename="admin-gui"/> <role rolename="manager-gui"/> <role rolename="host-gui"/> <user username="oldboy" password="oldboy" roles="admin-gui,manager-gui,host-gui"/>关闭[root@web03 ~]# # /app/tomcat/bin/shutdown.sh 重启[root@web03 ~]# # /app/tomcat/bin/startsh image.png
image.png
image.png
image.png
#ps命令查询 java进程信息[root@web03 ~]# ps -ef |grep javaroot 27620 1 0 10:01 ? 00:00:53 /app/jdk/bin/java -Djava.util.logging.config.file=/app/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 /app/tomcat/bin/bootstrap.jar:/app/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/app/tomcat -Dcatalina.home=/app/tomcat -Djava.io.tmpdir=/app/tomcat/temp org.apache.catalina.startup.Bootstrap startroot 28705 27620 0 12:10 ? 00:00:49 /app/jdk1.8.0_60/jre/bin/jav -Xms8m -Xmx32m -Dfile.encoding=UTF-8 -Duser.dir=/app/tomcat/webapps/zrlog/WEB-INF/plugins -jar /app/tomcat/webapps/zrlog/WEB-INF/plugins/plugin-core.jar 21913 41913 /app/tomcat/webapps/zrlog/WEB-INF/db.properties /app/tomcat/webapps/zrlog/WEB-INF/plugins/jars 51913 /app/tomcat/webapps/zrlog 2.1.14root 29617 29411 0 15:35 pts/2 00:00:00 grep --color=auto javajps查看 jps -lvm 显示最详细的信息 也可分开查看*[root@web03 ~]# jps28705 plugin-core.jar27620 Bootstrap29662 Jps*[root@web03 ~]# jps -lvm28705 /app/tomcat/webapps/zrlog/WEB-INF/plugins/plugin-core.jar 21913 41913 /app/tomcat/webapps/zrlog/WEB-INF/db.properties /app/tomcat/webapps/zrlog/WEB-INF/plugins/jars 51913 /app/tomcat/webapps/zrlog 2.1.14 -Xms8m -Xmx32m -Dfile.encoding=UTF-8 -Duser.dir=/app/tomcat/webapps/zrlog/WEB-INF/plugins29682 sun.tools.jps.Jps -lvm -Denv.class.path=.:/app/jdk/lib:/app/jdk/jre/lib:/app/jdk/lib/tools.jar -Dapplication.home=/app/jdk1.8.0_60 -Xms8m27620 org.apache.catalina.startup.Bootstrap start -Djava.util.logging.config.file=/app/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= -Dcatalina.base=/app/tomcat -Dcatalina.home=/app/tomcat -Djava.io.tmpdir=/app/tomcat/temp使用jps -lvm |grep -V jps[root@web03 ~]# jps -lvm |grep jps29698 sun.tools.jps.Jps -lvm -Denv.class.path=.:/app/jdk/lib:/app/jdk/jre/lib:/app/jdk/lib/tools.jar -Dapplication.home=/app/jdk1.8.0_60 -Xms8m## java 高级命令 Troubleshooting Tools##jmap 取出 java进程信息 jvm内存信息 heap memorydetails for a process, core file##导出 信息 jmap -heap java_pid (pid就是上面的过滤出来的数字)[root@web03 ~]# jps -lvm |grep -v jps |cut -d" " -f1[root@web03 ~]# jmap -heap 28705会出结果显示java真实的进程信息#jstack 加pid Java process 显示java进程执行流程 调用信息 Troubleshooting Toolsimage.png
catalina.out 日志主要看#error 错误#startup 或 finished 启动所需的时间image.png
#server.xml#端口部分###8005 shutdown端口22 行: <Server port="8005" shutdown="SHUTDOWN">###tomcat shutdown端口 telnet/nc 连接到这个端口 输入暗号tomcat将会关闭###8080 http协议端口69 <Connector port="8080" protocol="HTTP/1.1"70 connectionTimeout="20000" 71 redirectPort="8443" />###8009 ajp协议端口 与apache连接使用115 <!-- Define an AJP 1.3 Connector on port 8009-->116 <!--117 <Connector protocol="AJP/1.3"118 address="::1"119 port="8009"120 redirectPort="8443" />121 -->#8009端口 是用来给 apache与tomcat进行连接使用#现在 tomcat+nginx 可以把 这一行8009注释 提高tomcat性能 <Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />#tomcat管理端 相应的配置##管理端 实际生产环境 关闭37 <GlobalNamingResources>38 <!-- Editable user database that can also be used by39 UserDatabaseRealm to authenticate users40 -->41 <Resource name="UserDatabase"auth="Container"42 type="org.apache.catalina.UserDatabase"43 description="User database that can be updated and saved"44 factory="org.apache.catalina.users.MemoryUserDatabaseFactory" #指定管理端 密码文件45 pathname="conf/tomcat-users.xml" />46 </GlobalNamingResources>#配置 tomcat 虚拟主机的内容Nginx tomcat Server_name Host name 域名root appBase 站点目录#unpackWARs #自动解压war包 #autoDeploy 自动部署 把代码加载到jvm内存中148 <Host name="localhost" appBase="webapps"149 unpackWARs="true" autoDeploy="true">150151 <!-- SingleSignOn valve, share authentication between web applications152 Documentation at: /docs/config/valve.html -->153 <!--154 <Valve className="org.apache.catalina.authenticator.SingleSignOn" />155 -->156157 <!-- Access log processes all example.158 Documentation at: /docs/config/valve.html159 Note: The pattern used is equivalent to using pattern="common" -->#配置 日志160 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" #日志文件 前缀是localhost_access_log #日志后缀161 prefix="access" suffix=".log" #日志 里面的格式 " html语言中的 双引号 #日志内容 类似于 log_format 162 pattern="%h %l %u %t "%r" %s %b" />163164 </Host>#%h 客户端ip地址或者是域名#%l (小写L) 远程用户 #%u 用户 Remote user that was authenticated (if any), else '-' (escaped if required)#%t 时间 日期和时间#" 双引号#%r 请求起始行 $request #%s $status 状态码#%b 大小image.png
#准备数据库登陆数据库创建zrlog 加字符集create database zrlog charset utf8;#web03 安装应用 让应用连接 数据库cd /app/tools把zrlog压缩包穿到/app/tools目录下改名mv zrlog-2.1.14-5537197-release.war zrlog.war复制到/app/tomcat/webappscp zrlog.war /app/tomcat/webapps复制进去后会自动解压image.png
image.png
安装完成后ip:8080/zrlog 首页http://10.0.0.9:8080/zrlog/admin 管理页面image.png
#数据库连接[root@web03 /app/tomcat/webapps/zrlog]# cat ./WEB�INF/db.properties #This is a database configuration file#Wed Jun 02 11:14:44 CST 2021driverClass=com.mysql.cj.jdbc.Driveruser=allpassword=123456jdbcUrl=jdbc\:mysql\://172.16.1.51\:3306/zrlog?characterEncoding\=UTF�8&allowPublicKeyRetrieval\=true&useSSL\=false&serverTimezone\=GMT#用户上传http://10.0.0.9:8080/zrlog/attached/image/20210602/20210602111945_677.pngimage.png
###nioprotocol="org.apache.coyote.http11.Http11Nio2Protocol"#server.xml 中 修改 8080 <Connector port="8080"protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" redirectPort="8443" />[root@web03 /app/tomcat]# grep -ni nio2 conf/server.xml69: <Connector port="8080"protocol="org.apache.coyote.http11.Http11Nio2Protocol"查看修改结果-catalina.out日志17-Dec-2019 10:46:33.106 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-8080"]nginx
cp -r /app/tomcat/ /app/tomcat_8081cp -r /app/tomcat/ /app/tomcat_8082[root@web03 /app/tomcat]# sed -i 's#8080#8081#g' /app/tomcat_8081/conf/server.xml [root@web03 /app/tomcat]# sed -i 's#8005#8006#g' /app/tomcat_8081/conf/server.xml [root@web03 /app/tomcat]# [root@web03 /app/tomcat]# sed -i 's#8080#8082#g' /app/tomcat_8082/conf/server.xml [root@web03 /app/tomcat]# sed -i 's#8005#8007#g' /app/tomcat_8082/conf/server.xml查看端口[root@oldboy-tomcat ~]# ss -lntup |grep java启动tomcat多实例与检查[root@oldboy-tomcat ~]# /app/tomcat_8081/bin/startup.sh[root@oldboy-tomcat ~]# /app/tomcat_8082/bin/startup.sh查看端口[root@oldboy-tomcat ~]# ss -lntup |grep java#curl或浏览器访问tomcat多实例###注意事项#10.0.0.7:8080/index.jsp 直接访问首页文件 或 展示首页文件#这个首页文件存放在webapps/ROOT下面 /app//tomcat/webapps/ROOT/index.jsp #10.0.0.7:8080/odboy/index.jsp#/app//tomcat/webapps/oldboy/index.jsp #tomcat访问首页文件 注意事项加入内容[root@web03 /app/tomcat]# echo tomcat_8080 >/app/tomcat/webapps/ROOT/oldboy.jsp [root@web03 /app/tomcat]# echo tomcat_8081 >/app/tomcat_8081/webapps/ROOT/oldboy.jsp [root@web03 /app/tomcat]# echo tomcat_8082 >/app/tomcat_8082/webapps/ROOT/oldboy.jsp测试[root@web03 /app/tomcat]# curl 10.0.0.9:8080/oldboy.jsp tomcat_8080[root@web03 /app/tomcat]# curl 10.0.0.9:8081/oldboy.jsp tomcat_8081[root@web03 /app/tomcat]# curl 10.0.0.9:8082/oldboy.jsp1.编写配置文件[root@web03 local]# cat /usr/lib/systemd/system/tomcat.service [Unit]Description=tomcat 8080 system cmd After=network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=/app/tomcat/bin/startup.shExecStop=/app/tomcat/bin/shutdown.sh[Install]WantedBy=multi-user.target2.执行一步systemctl daemon-reload 3.替换内容sed -i '2a source /etc/profile' /app/tomcat*/bin/startup.sh /app/tomcat*/bin/shutdown.sh4.执行systemctl daemon-reload 5.使用systemctl开启systemctl start tomcat6.查看启动状态systemctl status tomcat其他案列修改里面的数字以及sed -i '2a source /etc/profile' /app/tomcat*/bin/startup.sh /app/tomcat*/bin/shutdown.sh[root@web03 ~]# cat/usr/lib/systemd/system/tomcat_8082.service[Unit]Description=tomcat 8082 system cmd After=network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=/app/tomcat_8082/bin/startup.shExecStop=/app/tomcat_8082/bin/shutdown.sh[Install]WantedBy=multi-user.targetsystemctl daemon-reload开发: 给开发留个后门 开发/运维 通过门查看 tomcat(jvm)运维: 通过命令检查tomcat信息 通过监控软件检查获取tomcat信息1. 通过命令/脚本查看
2. 开启tomcat监控功能 jmx 再让zabbix监控*jps*jmap*jstack*ps jps -lvm*sh show-busy-java-threads.sh上传show-busy-java-threads.sh到l系统中直接sh执行[root@web03 ~]# ./show-busy-java-threads.sh[1] Busy(0.0%) thread(21615/0x546f) stack of java process(21219) under user(root):process 进程 在内存中创建空间thread 线程 实际处理用户请求线程是指进程内的一个执行单元,#进程进程拥有自已独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。#线程线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度#协程和线程协程避免了无意义的调度,由此可以提高性能:但同时协程也失去了线程使用多CPU的能力进程与线程的区别(1)地址空间:线程是进程内的一个执行单位,进程内至少有一个线程,他们共享进程的地址空间,而进程有白己独立的地址空间(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是(4)二者均可并发执行(5)每个独立的线程有一个程序运行的入口#开启tomcat远程监控 功能 #修改 tomcat/bin/catalina.sh #CATALINA_OPTS java内置变量 修改java启动参数(tomcat) # CATALINA_OPTS java启动参数 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote #jmx remote 开启tomcat远程监控功能-Dcom.sun.management.jmxremote.port=12345 #指定端口12345 还有2个随机端口-Dcom.sun.management.jmxremote.authenticate=false #auth 认证 是否开启远程监控认证(用户名 密码)-Dcom.sun.management.jmxremote.ssl=false #是否开启https -Djava.rmi.server.hostname=10.0.0.7" #tomcat监听的ip地址 #这里我们书写公网ip地址 #生产环境书写内网ip #本地ip 10.0.0.7 172.16.1.7[root@web03 ~]# grep -A5 '^CATALINA_OPT' /app/tomcat/bin/catalina.sh CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.0.0.9"启动查看进程systemctl start tomcat[root@web03 ~]# ps -ef |grep javaroot 22059 1 0 20:29 ? 00:00:06 /app/jdk/bin/java -Djava.util.logging.config.file=/app/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 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.0.0.9 -Dignore.endorsed.dirs= -classpath /app/tomcat/bin/bootstrap.jar:/app/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/app/tomcat -Dcatalina.home=/app/tomcat -Djava.io.tmpdir=/app/tomcat/temp org.apache.catalina.startup.Bootstrap startroot 22363 20814 0 21:01 pts/0 00:00:00 grep --color=auto java通过端口查询ss -lntup |grep java[root@web03 ~]# ss -lntip |grep javaLISTEN 0 50 [::]:12345 [::]:* users:(("java",pid=22059,fd=20))LISTEN 0 50 [::]:45178 [::]:* users:(("java",pid=22059,fd=21))LISTEN 0 1 [::ffff:127.0.0.1]:8005 [::]:* users:(("java",pid=22059,fd=67))LISTEN 0 50 [::]:34604 [::]:* users:(("java",pid=22059,fd=19))LISTEN 0 100 [::]:8080 [::]:* users:(("java",pid=22059,fd=56))增加了12345端口image.png
image.png
image.png
image.png
image.png
image.png
image.png
命令/脚本: jps -lvm / pstree / show_busy_java_threads.sh 远程监控功能: jmxremote / jmx小坑: 在 tomcat 8.5.x 配置开启功能 修改 catalina.sh 写成一行 或 加上\ (续行)#背景: ##1.tomcat环境使用的jdk 是二进制##2. 设置tomcat开机自启动#使用二进制安装jdk的时候 环境变量不在 /bin /sbin /usr/local/bin /usr/local/sbin #在重启就没有找到这个命令#即使在 /etc/profile 中也是 无法识别需要在 /etc/rc.local . /etc/profile ##/etc/rc.local . /etc/profile/app/tomcat/bin/startup.sh#java代码问题## 增加swap ##Linux内核参数:/etc/sysctl.conf vm.swappiness=0sysctl -p #内核参数生效vm.swappiness=0 #控制系统是否优先使用物理内存 数越小 越优先使用物理内存排查流程1. 🌟整体排查: vmstat /top/ps aux 找出哪个进程的问题
2. 🌟找出进程对应线程id :
1. 通过top -Hp java进程id 找出是哪个java线程的问题
2. 或者 show_busy_java_threads.sh
3. 🌟转换:线程id--->16进制:问题线程的id 转换为16进制 线程id
4. 🌟找出线程的详细信息: jstack (显示java 进程信息) jstack
java进程id 过滤 java线程的16进制id 与开发沟通
5. 显示jvm信息: jmap (显示java jvm信息) jmap -heap java进程id
显示jvm的内存使用情况
6. jvm内存内容导出:jmap (导出 jvm内存的内容 ) jmap -
dump:format=b,file=/root/tomcat.bin pid
7. 给开发分析jvm导出文件:通过 mat(Eclipse Memory Analyzer
Tool )分析 windows
vmstat /top/ps aux
tomcat: 找出这个tomcat的pid top -Hp 10789 精确的找出某个线程
导致的
并且能找出线程的id 10802 (10进制)转换为16进制image.png
web03和web04所有的配置一样这里就只写一个了1.<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <Engine name="Catalina" defaultHost="zrlog.oldboylinux.cn">Host name="zrlog.oldboylinux.cn" appBase="/code/zrlog" unpackWARs="true" autoDeploy="true">在这里主要修改网站名称,以及站点目录2.创建对应的站点目录mkdir -p /code/zrlog3.移动zrlog的所有配置文件到站点目录mv /app/tomcat/webapps/zrlog* /code/zrlog1.配置文件[root@lb01 ~]# cat /etc/nginx/conf.d/zrlog.oldboy.com.confupstream zrlog {server 10.0.0.9:8080;server 10.0.0.10:8080;}server { listen 80; server_name zrlog.oldboylinux.cn; return 302 https://zrlog.oldboylinux.cn$request_uri;}server { listen 443 ssl; server_name zrlog.oldboylinux.cn; ssl_certificate ssl_key/server.crt; ssl_certificate_key ssl_key/server.key; location / { proxy_pass http://zrlog; include proxy_params; }}2.创建放ca证书的目录mkdir -p /etc/nginx/ssl_key上传证书到创建的目录中3.给证书改名mv 5745132_zrlog.oldboylinux.cn.key server.keymv 5745132_zrlog.oldboylinux.cn.pem server.crt[root@lb01 ssl_key]# ll total 8-rw-r--r-- 1 root root 3818 Jun 4 08:55 server.crt-rw-r--r-- 1 root root 1675 Jun 4 08:55 server.key5.检查nginx配置文件启动nginx####之后把本地解析的 zrlog.oldboylinux.cn 解析到10.0.0.5 去访问一下 ####如果失败检查配置文件####还有一个报错就是浏览器一直在让你安装 我们去检查tomcat的数据库文件有没有过来 ####移动数据库文件的话是要关掉tomcat的####这样我们的集群跳转就完成了1.关键点,在web端互传的时候一定要关闭tomcat2.tomcat的端口 不改变一直是80803.最后如果报错的话单台单台测试如果成功那就是nginx负载的问题image.png
在web04上装完之后 要启动nginx 首先要把web03上的tomcat关闭 不然端口号会冲突在web04安装nginx##现在我们去配置web04上的静态页面[root@web04 conf.d]# vim /etc/nginx/conf.d/zrlog.oldboylinux.cn.conf server { listen 80; server_name zrlog.oldboylinux.cn; root /code/zrlog;}[root@lb01 ~]# vim /etc/nginx/conf.d/zrlog.oldboy.com.conf upstream zrlog {server 10.0.0.9:80;}upstream zrlog_static {server 10.0.0.10:80;}server { listen 80; server_name zrlog.oldboylinux.cn; return 302 https://zrlog.oldboylinux.cn$request_uri;}server { listen 443 ssl; server_name zrlog.oldboylinux.cn; ssl_certificate ssl_key/server.crt; ssl_certificate_key ssl_key/server.key; location / { proxy_pass http://zrlog; include proxy_params; } location ~* \.(jpg|png|jpeg|bmp|gif|js|css)$ { proxy_pass http://zrlog_static; include proxy_params; }}检查启动nginx去网页测试web页面显示 502的话 去检查web03 tomcat的配置文件 可能是端口的问题然后就是检查每个服务器的tomcat 或者是lb01上的 nginx各种服务都起来之后呢 再去web页面访问 [root@web04 conf]# chown -R nginx.nginx /code/zrlog/[root@web04 conf]# chmod 755 /code/[root@web04 conf]# ll -d /code/drwxr-xr-x 4 root root 33 Jun 4 23:37 /code/nginx里面权限致观重要原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。