树莓派3b+web服务器frp内网穿透tomcat部署
最近刚好得闲,某宝买了个树莓派3B+带,本来是想用作人脸识别测试的,无奈性能卡的那叫一个爽,只能放弃改用其它,后来想到自己在阿里云还有有个空闲的域名,干脆挂个web服务,提供微服务。
ddns(跟不上现在网络供应商了,可以忽略此节)
家庭宽带,肯定没有固定ip,利用阿里云提供的接口API来更新域名解析:
详情参考https://blog.csdn.net/mgsky1/article/details/80466840,给大兄弟大写的赞,很详细!
- 利用python爬取自己外网ip,然后阿里云云解析API(aliyun-python-sdk-core-v3)更新
- 接下来,做个定时任务
chmod 755 /你的脚本路径/你的脚本名字.py echo "0 */2 * * * /usr/bin/python3 /你的脚本路径/你的脚本名字.py" > /dev/null 2>&1
如果echo添加不了,可以采用
sudo crontab -l sudo crontab -e 0 */2 * * * python3 /你的脚本路径/你的脚本名字.py > /dev/null 2>&1
- 补充一下
cron运行日志在/var/log/cron.log,树莓派raspbian系统默认没有开启cron日志,执行命令
sudo vim /etc/rsyslog.d/50-default.conf
找到cron.log相关行,将前面注释符#去掉,保存退出,重启rsyslog:
sudo service rsyslog restart
好,折腾到这里恭喜你和我一样白搞了,家里面移动宽带一直都是跟手机绑定也没有去换什么套餐,早两年我还挂过花生壳,做过一个手机远程控制,心想这应该就OK了,进路由器设置个端口映射,可以去装web服务去了。
-
结果
what a u fucking doing ???
然后打了个电话给移动投诉,接电话的小姐姐告诉我现在家庭宽带是不容许有端口映射到外网,以前的对外的动态ip,全部变更成大局域网,我想想也是,现在应用门槛很低,随随便便就能把风花雪月挂到公网上,多么和谐,管制也是该,也就没有为难人家小姐姐了,随便聊了下人生,谈了下理想,那边小姐姐最后都不愿意挂我电话,无奈呀…
frp
内网穿透的工具很多,以前几乎都是无脑的花生壳,因为简单呀,不过看网友兄弟们推荐这个也是傻瓜配置,而且go语言速度,性能没得挑剔,就他了,找找大神们的恩赐, 度娘,必应!!!
感谢sword@agint.me大神,提供frp serve
http://freenat.win/
- 服务端有大神提供了,接下来我们只要配置对应client连接到服务端,进行端口转发,内网穿透了
[common] server_addr = freenat.club server_port = 7000 privilege_token = frp888 log_file = frpc.log log_level = debug log_max_days = 7 login_fail_exit = false protocol = kcp [http_dsm 这里要换成复杂一点,以免和其他人冲突] type = http local_ip = 192.168.1.110 local_port = 8080 use_compression = true use_encryption = true custom_domains = *.*.* 你自己的域名
- 配置一下远程ssh方便以后,你懂滴
[ssh 这里也要换个名字或者加长尾巴] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6001
- 配置阿里云域名解析
上面
记录值
是大神提供frp serve的固定ip
- 启动frpc
./frpc -c ./frpc.ini
什么显示都没有 看看日志,提示login success就OK了。
- 开机自启动
sudo vi /etc/rc.local nohup /frp文件路径/frpc -c /frp文件路径/frpc.ini & exit0
Tomcat
- 首先当然是检查java环境了,我是安装的最新官方raspbian系统
$ java -version
输出
pi@raspberrypi:/etc/init.d $ java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)
没有配置java或者用的openjdk的兄弟,网上找找相关文章,很多滴
- 下载tomcat9
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz $ tar xvf apache-tomcat-9.0.12.tar.gz
- 创建启动脚本
sudo vi /etc/init.d/tomcat
- init .d文件夹中创建文件Tomcat,文件的内容:
#!/bin/sh export CATALINA_HOME="/home/pi/Tomcat/apache-tomcat-9.0.12" case "$1" in start) if [ -f $CATALINA_HOME/bin/startup.sh ]; then echo $"Starting Tomcat" /bin/su pi $CATALINA_HOME/bin/startup.sh fi ;; stop) if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then echo $"Stopping Tomcat" /bin/su pi $CATALINA_HOME/bin/shutdown.sh fi ;; *) echo $"Usage: $0 {start|stop}" exit 1 ;; esac
- 将此文件的权限更新为可执行文件
sudo chmod 755 /etc/init.d/tomcat
- 更新RC.D将tomcat的链接添加到/ETC/RC.D目录中:
sudo update-rc.d tomcat defaults
- 开启服务
sudo /etc/init.d/tomcat start
最后,重启reboot,Tomcat应用服务器现在应该在开机自动启动。上个图!
原文链接:https://blog.csdn.net/way1001/article/details/83687076?ops_request_misc=&request_id=&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-9-83687076-null-null.268%5Ev1%5Ekoosearch&utm_term=%E9%BB%91%E7%BE%A4%E6%99%96%E3%80%81docker%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C%E3%80%81%E5%AE%9D%E5%A1%94%E3%80%81%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E3%80%81nginx%E3%80%81frp%E3%80%81%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81NAS%E3%80%81%E7%BE%A4%E6%99%96%E3%80%81%E9%98%BF%E9%87%8C%E4%BA%91%E3%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E3%80%81ipv6%E3%80%81ddns%E3%80%81%E8%BD%BB%E9%87%8F%E7%BA%A7%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E9%93%81%E5%A8%81%E9%A9%AC%E3%80%81%E5%A8%81%E8%81%94%E9%80%9A%E3%80%81DSM%E3%80%81DSM6.0%E3%80%81%E7%BE%A4%E6%99%96nas%E3%80%81%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85%E3%80%81