ngrok服务端开机启动

博客介绍了ngrok在Linux系统的开机自启动设置方法。指出其设置可参照tomcat自启动,最简单的是修改/etc/rc.d/rc.local文件,添加相应启动命令,还需赋予该文件可执行权限。同时提到若启动nginx,也在该文件添加对应路径命令。

说在前面的话

之前给大家介绍了ngrok的搭建以及安装,相比童鞋们也都已经看了,但是上一章由于篇幅问题就没有继续说linux的开机启动问题,其实呢,它的开机启动设置只要设置的跟tomcat自启动一样就可以了.

ngrok自启动

最简单的方法就是修改/etc/rc.d/rc.local文件。
在最后添加
/usr/local/ngrok/bin/ngrokd -domain=“bw.xiaofeng.cn” -httpAddr=":80"

通过上面的就可以实现开机的时候tomcat自启动。当然还有一个重要的事情要做。就是给rc.local文件一个可执行的权限:
==chmod +x /etc/rc.d/rc.local ==
必须执行上一步,

因为centos7开始,rc.local权限被降低了。当然前面的那个jdk的路径和tomcat的路径信息得按照你实际的来哦。 同理,如果想要启动nginx,
就直接在rc.local文件里面添加:/usr/local/ngrok/bin/ngrokd -domain=“bw.xiaofeng.cn” -httpAddr=":80" 反正就是你的nginx的路径。注意,这个是ngrokd 安装后的路径,
要你手动能够启动才能够执行开机自启动的哦。
下面看一下我的自启动软件

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_151/
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.0.48
/usr/local/tomcat/apache-tomcat-8.0.48/bin/startup.sh
/usr/local/nginx/sbin/nginx
/usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh start
/usr/local/redis/bin/redis-server redis.conf
/usr/local/ngrok/bin/ngrokd -domain="bw.xiaofeng.cn" -httpAddr=":80"

其中包含tomcat nginx zookeeper redis和ngrok

### 配置ngrok实现内网穿透 #### 准备工作 为了在CentOS上成功配置ngrok以实现内网穿透,需先完成环境准备。这包括安装必要的依赖项以及获取源码或二进制文件。 对于从GitHub克隆项目的方式: ```bash git clone https://github.com/inconshreveable/ngrok.git ``` 如果无法通过Git拉取,则可以选择直接下载并解压缩指定版本的tarball包[^3]。 #### 替换SSL证书与密钥 确保安全性,在编译之前应准备好自定义的SSL证书和私钥,并将其复制到相应位置覆盖默认文件: ```bash cp rootCA.pem ngrok/assets/client/tls/ngrokroot.crt cp server.crt ngrok/assets/server/tls/snakeoil.crt cp server.key ngrok/assets/server/tls/snakeoil.key ``` 这些操作有助于增强通信过程中的加密强度。 #### 编译生成服务端及客户端程序 按照官方文档说明来构建适用于当前系统的`ngrokd`(服务端) 和 `ngrok`(客户端),具体命令取决于所使用的Go语言环境和其他因素。 #### 启动ngrok服务端 创建名为`start.sh` 的shell脚本来简化启动流程。此脚本位于ngrok根目录下,内容如下所示: ```bash #!/bin/bash cd /path/to/ngrok sudo nohup ./bin/ngrokd -domain="yourdomain.com" \ -httpAddr=":80" \ -httpsAddr=":443" \ -tunnelAddr=":8083" & ``` 请注意将路径 `/path/to/ngrok` 及 `-domain` 参数替换为实际值[^1]。 #### 客户端连接指令 当服务端正常运行后,可通过以下方式让本地机器作为客户端接入: ```bash ./ngrok -config=./ngrok.cfg -log=./ngrok.log -subdomain=www 8080 ``` 此处假设目标应用监听于localhost:8080接口;而`-subdomain`参数则用于设定子域名前缀[^2]。 #### 设置开机自动启动 为了让ngrok随系统一同启动,可以编辑Systemd服务单元文件: ```ini [Unit] Description=ngrok service After=network.target [Service] Type=simple Restart=always ExecStart=/usr/local/ngrok/bin/ngrok \ -config=/usr/local/ngrok/conf/ngrok.conf \ -log=/var/log/ngrok/ngrok.log start-all PrivateTmp=true [Install] WantedBy=multi-user.target ``` 保存上述配置至`/etc/systemd/system/ngrok.service` 文件中,接着执行以下命令使更改生效: ```bash systemctl daemon-reload systemctl enable ngrok.service systemctl start ngrok.service ``` 这样就完成了ngrok的服务化部署[^4]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值