1.创建work账号并安装tomcat
root启动的tomcat进程不支持远程调试 ,因此新建一个work账号
adduser work
passwd work
pwd
/root/software/apache-tomcat-8.5.49/bin/shutdown.sh
ps -ef |grep tomcat
切换到work账号,上传tomcat到/home/work下面,解压,并修改server.xml
su work
tar -zxvf apache-tomcat-8.5.49.tar.gz
cd apache-tomcat-8.5.49
cd conf/
vim server.xml
端口号保持8080不变(非root账号启动不能低于1000),图片相对地址设置好
2.打包war包并访问
将o2o.war上传到webapps下面,并访问,只需要多添加:8080即可
3.微信只能访问80端口
方法:进行端口转发,可以使用Nginx,也可以使用centos本身的机制(iptables)
su root
systemctl stop firewalld.service
systemctl disable firewalld.service
yum -y install iptables-services
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
service iptables save
保证系统重启后依然生效:
systemctl restart iptables.service
systemctl enable iptables.service
4.远程调试
修改catalina.sh
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n"
并在华为云上放开8888端口,并重启tomcat:
[work@ecs-s6-large-2-linux-20191113142903 apache-tomcat-8.5.49]$ ps -ef|grep tomcat
work 26522 1 16 20:13 pts/0 00:00:03 /usr/bin/java -Djava.util.logging.config.file=/home/work/apache-tomcat-8.5.49/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 -Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n -Dignore.endorsed.dirs= -classpath /home/work/apache-tomcat-8.5.49/bin/bootstrap.jar:/home/work/apache-tomcat-8.5.49/bin/tomcat-juli.jar -Dcatalina.base=/home/work/apache-tomcat-8.5.49 -Dcatalina.home=/home/work/apache-tomcat-8.5.49 -Djava.io.tmpdir=/home/work/apache-tomcat-8.5.49/temp org.apache.catalina.startup.Bootstrap start
可以发现之前的设置生效了:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n
Intellij IDEA配置

调试启动,在WechatLoginController的doGet中打断点,并在微信开发者工具中https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的appid&redirect_uri=http://119.3.135.196/o2o/wechatlogin/logincheck&role_type=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect发起调用即可进入远程调试模式。
网友评论