云服务器 nginx自启动、mysql自启动、pyhton后端自启动

2023-12-20

nginx自启动

方法一:

1、建立启动文件

vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
 
[Install]
WantedBy=multi-user.target

2、检查常用命令

sudo systemctl daemon-reload 重新加载这个文件
sudo  systemctl disable nginx.service 关闭开机自启
sudo  systemctl enable nginx.service 开启开机自启
sudo  systemctl status nginx.service 查看状态
sudo  systemctl restart nginx.service 重启服务
sudo  systemctl list-units --type=service 查看所有服务

方法二(ubentu已成功)

1、建立启动文件

在/etc/init.d/下创建nginx文件,sudo vim /etc/init.d/nginx

#! /bin/bash
### BEGIN INIT INFO
# Provides:          XXX
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start XXX daemon at boot time
# Description:       Start XXX daemon at boot time
### END INIT INFO

#chkconfig:35 85 15

DAEMON=/usr/local/nginx/sbin
PID=/usr/local/nginx/logs/nginx.pid

case "$1" in
  start)
      echo "Starting nginx daemon..."
      $DAEMON && echo "SUCCESS"  #开启nginx
  ;;
  stop)
      echo "Stopping nginx daemon..."
      $DAEMON -s quit && echo "SUCCESS"  #从容的停止nginx
  ;;
  reload)
      echo "Reloading nginx daemon..."
      $DAEMON -s reload && echo "SUCCESS"  #平滑重启nginx
  ;;
  restart)
      echo "Restarting nginx daemon..."
      if [ ! -f "$PID" ]; then
	   ps -ef | grep nginx | awk 'NR<3{print "kill -9 "$2}' | sh
	   sleep 3
	   $DAEMON && echo "SUCCESS"                  #开启nginx
      else
	   $DAEMON -s quit                            #从容的停止nginx
	   sleep 3
     	   $DAEMON && echo "SUCCESS"                  #开启nginx
      fi
  ;;
  status)
      if [ ! -f "$PID" ]; then                  #因为nginx启动后会生成进程文件nginx.pid,这里通过判断进程文件是否存在,判断nginx是否启动
         echo "Nginx is not running..."
      else
         echo "Nginx is running..."
      fi
  ;;
  *)
      echo "Usage:service nginx (start|stop|restart|reload|status)"
      exit 2
  ;;
esac

2、开权限和更新文件


#设置服务脚本有执行权限
sudo chmod +x /etc/init.d/nginx
#注册服务
cd /etc/init.d/
sudo update-rc.d nginx defaults

重启服务器看是否自动启动。

sudo  systemctl status nginx.service 查看状态

mysql自启动

systemctl enable mysql.service 直接mysql自启动

如果不得参照以下操作:

在/lib/systemd/system/mysql.service建立文件。

sudo vim /lib/systemd/system/mysql.service
# MySQL systemd service file

[Unit]
Description=MySQL Community Server
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=notify
User=mysql
Group=mysql
PIDFile=/run/mysqld/mysqld.pid
PermissionsStartOnly=true
ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
ExecStart=/usr/sbin/mysqld
TimeoutSec=infinity
Restart=on-failure
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755
LimitNOFILE=10000

# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

自启动

# 重新加载服务
systemctl daemon-reload
# 设置开机自启动
systemctl enable mysql.service

重启看是否已经启动。

python后端程序自启动

常用指令



sudo chmod +x /root/xcxpy.sh 增加权限

sudo systemctl daemon-reload 更新文件
sudo systemctl enable xxx.service 开启自启动
sudo systemctl start xxx.service  开启文件

ps aux | grep python3 
kill -9 pip

1、给脚本增加权限

chmod +x xxx.py

2、在/etc/systemd/system/建立自启动文件xxx.service

[Unit]
Description=Auto Run Python Script
After=network.target

[Service]
ExecStart=/usr/bin/python3 /root/xxx.py  (py的绝对地址)
WorkingDirectory=/root   (文件目录)
StandardOutput=inherit
StandardError=inherit
Restart=always
User=username   (设置用户名)

[Install]
WantedBy=multi-user.target

3、启动服务

sudo systemctl enable xxx.service

4、重启查看程序是否启动

ps aux | grep python3 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

云服务器 nginx自启动、mysql自启动、pyhton后端自启动 的相关文章

随机推荐

  • POCO 的行为和持久性无知

    根据我的阅读 POCO 类应该是持久性无知的 并且不应该包含对存储库的引用 Q1 鉴于上述情况 我将如何填充 QuestionBlocks 集合 我读过 POCO 应该包含行为 这样你就不会以贫血模型结束 所以我有点困惑 如果没有坚持 应该
  • 获取用户权限列表

    我正在尝试获取用户拥有的所有权限 权限模型 public function roles return this gt belongsToMany App Models Role 好榜样 public function users retur
  • 根据组成员资格使用 Flask-LDAP3-Login 进行身份验证

    我是 Flask 新手 正在尝试 Flask LDAP3 Login 我已按照此处的文档进行操作 并且它可以正常工作 这非常棒 https flask ldap3 login readthedocs io en latest index h
  • 有没有办法将lazyload js库与Picturefill结合起来?

    我想知道如何将lazyload js 与Picturefill 合并 当lazyload 的图像语法需要img 标签和原始数据时 而Picturefill 的语法没有这些功能 例如 这是我使用 Picturefill 对图像的标记 span
  • 在 Eclipse 中使用 Proguard for Android 出现错误

    我已经全新安装了 Eclipse 和所有最新的 Android 工具 并希望在现有项目上使用 Proguard 但现在我创建了一个新的空白项目 我添加了一个proguard cfg文件到我的项目 添加proguard config prog
  • 屏幕之间导航但构造函数未调用

    我的应用程序中有多个屏幕 我使用 CreateStackNavigator 进行导航 如果我第二次访问屏幕 则不会调用构造函数 假设我有四个屏幕 A B C 和 D 目前我位于 A 然后我分别转到C 屏和D 屏 现在 如果我再次单击 C 则
  • Azure表查询部分分区键guid匹配

    我有下面的 PartitionKey 想通过 EndsWith 092a2dca 7107 4859 a129 e590ebd86614 查询找到它 e306cdfc f573 490c 937b c283f2d61e6c 092a2dca
  • 我无法在 Ubuntu 上杀死 php 脚本中的进程

    我在 1 小时内在命令行中运行 shell 我想使用 PHP 脚本来阻止它 我通过使用 getmypid 知道它的 pid 是 2000 我使用 PHP 脚本作为 exec kill 2000 exec kill KILL 2000 exe
  • 使用 Javascript 将文本发送到端口

    我最近购买了一台新打印机 如果有帮助的话 具体是 HP Photosmart C6380 它允许我将文本发送到端口 9100 进行打印 通过 Telnet 登录并输入文本进行打印效果很好 但我想知道是否可以使用 HTML 和 Javascr
  • 如何停止使用 spring 任务安排的作业

    我已经实现了一个示例 spring 计划任务 其 applicationContext 如下
  • then() 方法内的 Promise.resolve 未传递其解析值

    我发现了一个关于 Promise 的有趣的事情 当我运行以下代码时 它给出了 aa 的输出 而不是 bb 这让我很困惑 有谁明白为什么并给出解释吗 谢谢 Promise resolve aa then Promise resolve bb
  • 无法生成表“用户”

    当我安装时FOS用户包 官方文档 https github com FriendsOfSymfony FOSUserBundle blob master Resources doc index md 我尝试生成我的表fos user使用这个
  • 启动 Tomcat 附加组件 XAMPP 不起作用

    我安装了XAMPP 1 7 7 包括 阿帕奇2 2 21 MySQL 5 5 16 PHP 5 3 8 phpMyAdmin 3 4 5 FileZilla FTP 服务器 0 9 39 Tomcat 7 0 21 使用 mod proxy
  • React Native Expo 应用程序性能非常慢

    我是反应原生新手 目前正在开发一个应用程序 所有应用程序都应包含 1 轮播 2 12 类别卡 3 1 个类别页面包含带有图像和一些文本的卡片 卡片数据将从 API 获取 我正在使用 Expo 应用程序 但在 iPhone 6 中性能非常慢
  • 修复泰坦陨落2缺少msvcr120.dll的5种方法,亲测有效

    游戏 泰坦陨落2 缺少msvcr120 dll的问题困扰着许多玩家 这个问题的主要原因可能是系统环境不完整 软件或游戏版本不匹配 DLL文件丢失或损坏以及杀毒软件误判等 msvcr120 dll是Microsoft Visual C 201
  • 剑指 Offer(第2版)面试题 40:最小的 k 个数

    剑指 Offer 第2版 面试题 40 最小的 k 个数 剑指 Offer 第2版 面试题 40 最小的 k 个数 解法1 排序 解法2 快速选择 解法3 优先队列 剑指 Offer 第2版 面试题 40 最小的 k 个数 题目来源 53
  • C语言—每日选择题—Day54

    第一题 1 存在int类型变量x y z 其对应值为x 0x59 y 0x39 z 0x6E 则x y z的值为 A 1 0010 0111 0011 B 1 0100 0011 1111 C 1 0010 0111 0111 D 1 01
  • vue-springboot+java出租车公司业务管理网站idea maven

    出租车管理网站分为三个模块 分别是管理员功能模块和用户 公司信息功能模块 管理员功能模块包括 用户 公司信息 资讯通知 打卡中心 车辆信息 出车信息 维修申报 收支信息等功能 用户功能模块包括 车辆信息 出车信息 维修申报等 公司信息功能模
  • 软件测试/测试开发|测试用例设计方法——等价类划分

    前言 在软件测试领域 测试用例设计是确保软件系统质量的关键环节之一 等价类划分法 Equivalence Partitioning 是一种被广泛采用的测试用例设计技术 它通过将输入数据划分为相互等价的类别 以确保在每个等价类中选择适当的测试
  • 云服务器 nginx自启动、mysql自启动、pyhton后端自启动

    nginx自启动 方法一 1 建立启动文件 vim usr lib systemd system nginx service Unit Description nginx high performance web server After