首页 > 系统相关 >linux下开机启动443程序无法访问解决方法

linux下开机启动443程序无法访问解决方法

时间:2022-10-24 13:57:56浏览次数:58  
标签:node bin forever 启动 443 无法访问 程序 linux 开机

前言:最近,有一个项目需要用到开机自动启动程序,所以就研究了一下,环境为redhat8,程序是node,使用forever来进行node程序的持久化,程序使用的是443端口,开启的是https

图片

1.把node和forever的快捷方式放在放在/usr/bin/(环境变量)下面,所有的命令默认是从这里面进行调用的

查询下node的地址在哪里

ln -s /home/tool/node/node-v8.11.3-linux-x64/bin/node /usr/bin/node       //这里的路径就是安装node的路径

ln -s /home/tool/node/node-v8.11.3-linux-x64/bin/node /usr/bin/node

2.添加开机自启动

vi /etc/rc.d/rc.local

添加一下代码

forever start -s /home/demo/app.js    //这里的程序所在的路径

图片

3.设置一下权限即可

 chmod +x /etc/rc.d/rc.local

4.重启查看forever list看程序有没运行

我们可以看到已经启动了程序,我们访问下程序

图片

我们发现程序并不能访问

网站报错内容为:

此网站无法提供安全连接

协议不受支持

客户单端和服务器不支持一般SSL协议版本或加密套件

图片

5.排查过程:

1.防火墙

1首先关闭防火墙进行排查是否是原因所在,结果发现并不是原因:

图片

2.更换端口:

我们把程序的启动端口修改了,改为了8081然后重启服务器进行测试,结果发现重启服务器可以重新启动

图片

3.ssl证书问题

在网上找了一圈就没有相关的解决方案,基本都是ssl证书的问题,我之前也觉得也是ssl证书过期的问题,但是如果是ssl证书过期我用上面的http也可以实现访问,所以问题不是出在了这里,随后我又找了开机启动程序相关的问题,结果发现都不是问题所在,问题就此耽搁住了

4.使用443端口,用命令启动程序

我们可以看到,点击下面的地址是可以直接进入程序的,这一点我已经验证过了

图片

5.转机

突然,我想到既然用命令行的方式可以启动程序,那我直接把命令行的过程复现一下不就可以了吗,首先,我复现下用命令行启动的过程

1.cd /程序的目录
2.启动程序

我们再来看看开机启动程序的脚本

forever start -s /home/demo/app.js    //这里的程序所在的路径

两者对比,我们发现,命令行启动是cd到具体的目录下然后在执行启动命令,而开机脚本写的是后面带上程序的绝对路径,我想应该就是这个绝对路径的区别,然后我修改了开机脚本,具体如下:

图片

我们重启服务器

我们可以看到已经顺利进来了,就此问题解决

图片

尾巴:虽然这个问题解决起来非常简单,但是排查问题的过程确实非常漫长而且头疼,找打不到相关对应的资料,只能自己摸索尝试

标签:node,bin,forever,启动,443,无法访问,程序,linux,开机
From: https://www.cnblogs.com/sk777/p/16821235.html

相关文章

  • Windows10内置Linux子系统(WSL)路径转换
    在使用WSL中,因为Windows和Linux路径语法不同问题,cd到某一个目录比较麻烦。因为wsl中有一个工具专门用于路径转换用于提供便利性。语法:wslwslpath[option][path]optio......
  • Linux - 进程管理
    Linux中一切皆文件(文件:读写执行(查看,创建,编辑,删除,移动,复制,编辑),权限(用户,用户组),系统(磁盘,进程)对于我们开发人员来说,其实Linux更多偏向于使用一,基本概念1.在linux中,每个程序......
  • Linux grep 命令详解
    Linuxgrep命令用于查找文件里符合条件的字符串。grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样......
  • 【备忘录】个人arch linux uefi+GPT安装全记录
    下载archlinux镜像https://mirrors.ustc.edu.cn/archlinux/iso/2022.10.01/archlinux-2022.10.01-x86_64.iso 制作启动盘或者刻光盘 启动机器 选择第一个启动......
  • C++ 实现随机数生成(Windows、Linux)
    1、简介计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意:小M多项式序列的周期是65535,即每次利用一个随机种子......
  • 麒麟系统开发笔记(八):在国产麒麟系统上使用linuxdeployqt发布qt程序
    前言  在ubuntu上发布qt程序相对还好,使用脚本,但是在麒麟上发布的时候,因为银河麒麟等不同版本,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxde......
  • Linux查看CPU个数
    一查看cpu型号root@localhost:~#grepname/proc/cpuinfo|sort|uniqmodelname:IntelCoreProcessor(Broadwell,noTSX)二查看物理CPU个数root@localhost......
  • Linux搭建samba服务
    Linux搭建samba服务实现文件共享实现方式,首先需要配置yum。需要配置可以根据此链接进行配置:https://www.cnblogs.com/cherish-sweet/p/newyum.html 1. 检查是否安装......
  • linux操作基础
    Linux命令1.重启系统或者重启网卡,输入命令"reboot"或"servicenetworkrestart"2.安装gcc           yum-yinstallgcc3.安装gcc-c++ ......
  • Linux查看硬盘空间
    查看命令:df-hl  查看磁盘剩余空间df-h   查看每个根路径的分区大小du-sh[目录名]   返回该目录的大小du-sm[文件夹]   返回该文件夹总数du-h[......