1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > windows下配置NGINX实现内网穿透并配置开机自启动

windows下配置NGINX实现内网穿透并配置开机自启动

时间:2022-04-02 13:46:04

相关推荐

windows下配置NGINX实现内网穿透并配置开机自启动

第二章主要针对项目上线期间打印机服务的调整代码具体实现请看(一)

随着项目功能模块的结束,项目进行最后的测试阶段,准备上线,打印机无法上服务器,虽然佳博打印机可以设置Linux打印(我放弃了),于是我尝试把打印机的单模块脱离项目,在本地运行利用服务器请求本地打印机进行打印。想在我们要考虑两个问题:

外网项目访问内网项目公司电脑虽然不会关机,但是无法避免关机,如何保证打印机模块项目永久运行

NGINX实现内网穿透(之前使用花生壳不稳定)

花生壳方案不推荐!!!

1.1 准备一个自己的域名

1.2 下载安装NGINX

NGINX下载官网

/en/download.html

1.3 修改host文件

本地域名解析:

浏览器会首先在本机的hosts文件中查找域名映射的IP地址,如果查找到就返回IP ,没找到则进行域名服务器解析,一般本地解析都会失败,因为默认这个文件是空的

Windows下的hosts文件地址:C:/Windows/System32/drivers/etc/hosts

Linux下的hosts文件所在路径: /etc/hosts

添加域名

本机IP

1.4 修改nginx.conf配置文件

现在最新的稳定版Windows端

进入conf文件夹找到nginx.conf配置文件

在80端口转发下添加配置

location / {proxy_pass http://本地主机ip:8080proxy_connect_timeout 600;proxy_read_timeout 600;}

本地主机IP可以通过win+R键输入cmd

弹出的黑窗口输入ipconfig查询本机IP地址

1.5 配置NGINX开机启动

如何永久运行打印机模块项目,使用winsw将项目注册成一个服务(像我们使用的MySQL服务一样),服务设置开机自启,而且运行项目不会有黑窗口(点击下载winsw)

官方介绍如下:

WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service.

现实生活中,我们使用windows系统的电脑的时候,可能会遇到这么一种情况:想把一些应用程序添加为开机启动项。对于有图形界面的应用程序,一般不存在问题。但是如果想运行命令行应用程序,就不是那么方便了。一种笨办法就是写个bat,放到启动文件夹里,就可以开机启动了。开机之后,你就会发现,这样会一直显示着一个CMD窗口,而且这个窗口不能关,关了程序就停了。

其实Windows系统自带后台程序管理的功能,也就是我们经常用到的服务。但是Windows的服务只有程序的开发者在写程序的时候引用到这个功能,我们才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。

今天要介绍的WinSW,它就是一个可以将Windows上的任何一个程序注册为服务的工具。同样也可以进行卸载该服务。

1.5.1下载WinSW修改名字为nginx-service.exe

WinSW下载地址点击:/winsw/winsw/releases

1.5.2新建nginx-service.xml文件

<service><id>nginx</id><name>nginx</name><description>nginx</description><logpath>F:\work\nginx\nginx-1.18.0\server-logs\</logpath><logmode>roll</logmode><depend></depend><executable>F:\work\nginx\nginx-1.18.0\nginx.exe</executable><stopexecutable>F:\work\nginx\nginx-1.18.0\nginx.exe -s stop</stopexecutable></service>

1.5.3 输入cmd回车

1.5.4输入nginx-service.exe install命令注册服务

nginx-service.exe install

1.5.5 我的电脑右击选择管理将nginx启动类型设置为自动(开机启动)

1.6 将项目jar包注册成服务设置开机启动

XML文件代码:

<service><id>uais</id><name>uais</name><description>这个服务用来将打印机服务使用kcp协议加速</description><executable>java</executable><arguments>-jar uais.jar</arguments><logmode>reset</logmode></service>

将这三个项目文件修改成名字一样,直接在路径栏输入cmd,直接进入控制面板当前文件夹,运行exe程序

执行

uais.exe install 添加服务uais.exe uninstall 删除服务

成功

服务重复安装错误

关机重启,不启动项目,直接请求测试是否打印机功能正常

优化代码:

使用System.getenv("Gprinter")获取环境变量路径(支持dll文件移动,避免后期维护麻烦)TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary(System.getenv("Gprinter"), TscLibDll.class);

有没有大佬写篇服务器Linux打印机安装测试的博客,让小弟学习一下!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。