diff --git "a/\346\266\202\346\231\223\344\271\220/2024.6.19\346\234\215\345\212\241\347\256\241\347\220\206\347\254\224\350\256\260.md" "b/\346\266\202\346\231\223\344\271\220/2024.6.19\346\234\215\345\212\241\347\256\241\347\220\206\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..fa7573e2d1db9a462d5f8544a0faf5d627b4a1b3 --- /dev/null +++ "b/\346\266\202\346\231\223\344\271\220/2024.6.19\346\234\215\345\212\241\347\256\241\347\220\206\347\254\224\350\256\260.md" @@ -0,0 +1,57 @@ +# 服务管理 +Linux系统管理的重要组成部分,它涉及到启动、停止、重启和监控系统中的各种服务。服务通常是指运行在后台的程序,它们可以提供网络服务、数据库服务、Web服务等。 + +服务管理命令 +service 命令 + +service --status-all:列出所有服务的状态。 +service start:启动指定的服务。 +service stop:停止指定的服务。 +service restart:重启指定的服务。 +service status:查看指定服务的状态。 +systemctl 命令 + +systemctl status :查看指定服务的详细状态信息。 +systemctl start :启动指定的服务。 +systemctl stop :停止指定的服务。 +systemctl restart :重启指定的服务。 +systemctl enable :设置服务在系统启动时自动启动。 +systemctl disable :设置服务在系统启动时不自动启动。 +chkconfig 命令 + +chkconfig --list:列出所有服务的运行级别设置。 +chkconfig on:设置服务在指定的运行级别自动启动。 +chkconfig off:设置服务在指定的运行级别不自动启动。 + + + + + +# 软链接和硬链接的区别 +1.inode编号: +硬链接:硬链接与原始文件共享同一个inode编号。这意味着它们实际上是同一个文件的多个名称。 +软链接(符号链接):软链接有自己的inode编号,它存储的是原始文件的路径名。\ + +2.文件类型: +硬链接:硬链接的文件类型与原始文件相同。 +软链接:软链接是一个特殊的文件类型,其内容是原始文件的路径。 + +3.链接对象: +硬链接:硬链接只能链接到文件,不能链接到目录。 +软链接:软链接可以链接到文件或目录,甚至可以跨越不同的文件系统。 + +4.删除原始文件: +硬链接:如果删除了原始文件,硬链接仍然有效,因为它们指向的是同一个inode。 +软链接:如果删除了原始文件,软链接将失效,因为它指向的是文件的路径。 + +5.更新文件: +硬链接:如果修改硬链接文件,原始文件也会被修改,因为它们是同一个文件。 +软链接:如果修改软链接文件,原始文件不会被修改,因为软链接只是指向原始文件的路径。 + +6.创建命令: +硬链接:使用ln命令创建硬链接,例如:ln file1 file2。 +软链接:使用ln -s命令创建软链接,例如:ln -s file1 link1。 + +7.跨文件系统: +硬链接:硬链接不能跨越不同的文件系统。 +软链接:软链接可以跨越不同的文件系统。 \ No newline at end of file diff --git "a/\346\266\202\346\231\223\344\271\220/2024.6.24PM2\346\234\215\345\212\241\351\205\215\347\275\256.md" "b/\346\266\202\346\231\223\344\271\220/2024.6.24PM2\346\234\215\345\212\241\351\205\215\347\275\256.md" new file mode 100644 index 0000000000000000000000000000000000000000..63567ec79e152254deef9dafacd84fd66cd22400 --- /dev/null +++ "b/\346\266\202\346\231\223\344\271\220/2024.6.24PM2\346\234\215\345\212\241\351\205\215\347\275\256.md" @@ -0,0 +1,45 @@ +PM2是一个用于Node.js应用程序生命周期管理的工具,可以方便地管理进程、日志和零停机重启等。 +步骤: + +安装PM2: + +全局安装PM2:sudo npm install pm2 -g +使用PM2启动应用程序: + +进入应用程序目录,使用PM2启动应用程序:pm2 start app.js +配置应用程序: + +使用PM2保存当前应用程序列表:pm2 save +创建Systemd服务文件: + +在 /etc/systemd/system/ 目录下创建一个新的服务文件,如 pm2-myapp.service。 +编辑 pm2-myapp.service 文件,添加以下内容: +[Unit] +Description=PM2 Node.js MyApp +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/env bash -c "cd /path/to/myapp && pm2 start pm2.config.js" +ExecReload=/bin/kill -s HUP $MAINPID +ExecStop=/bin/kill -s TERM $MAINPID +Restart=always +User=myapp +Group=myapp +WorkingDirectory=/path/to/myapp + +[Install] +WantedBy=multi-user.target +Copy +重新加载Systemd配置: + +重新加载配置:sudo systemctl daemon-reload +启动和管理PM2服务: + +启动服务:sudo systemctl start pm2-myapp +停止服务:sudo systemctl stop pm2-myapp +重启服务:sudo systemctl restart pm2-myapp +查看服务状态:sudo systemctl status pm2-myapp +开启开机自启:sudo systemctl enable pm2-myapp +关闭开机自启:sudo systemctl disable pm2-myapp +在编辑 pm2-myapp.service 文件时,需要修改应用程序路径和用户组。此外,如果您的应用程序配置在 pm2.config.js 文件中,请确保在 ExecStart 指令中正确引用该文件。 \ No newline at end of file