shell - 将 systemd 脚本转换为 CentOS 6 的 .init 脚本
问题描述
我不太擅长 shell 脚本,不太擅长我的意思是我根本不知道。
我需要将此 systemd 单元文件转换为 .init 脚本,它用于设置 nginx 和 uwsgi 以提供 Web 应用程序。
[Unit]
Description=uWSGI instance to serve myproject
After=network.target
[Service]
User=user
Group=nginx
WorkingDirectory=/home/user/myproject
Environment="PATH=/home/user/myproject/myprojectenv/bin"
ExecStart=/home/user/myproject/myprojectenv/bin/uwsgi --ini myproject.ini
[Install]
WantedBy=multi-user.target
CentOS 6 不支持 systemd,请帮忙。
解决方案
在不支持systemd
您的系统中,您可以使用其他主管,例如,如果需要可移植且与 macOS/BSD 兼容的东西,您可以使用immortal。
这是一个run.yml
可以开始的基础uwsgi
:
cmd: /home/user/myproject/myprojectenv/bin/uwsgi --ini myproject.ini
cwd: /home/user/myproject/myprojectenv
log:
file: /var/log/my-project.log
您还可以查看文档中的uWSGI 示例,/etc/init/uwsgi.conf
例如:
# simple uWSGI script
description "uwsgi tiny instance"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec uwsgi --master --processes 4 --die-on-term --socket :3031 --wsgi-file /var/www/myapp.wsgi
在这种情况下,正在使用 Upstart,请检查以下答案:https ://serverfault.com/a/292000/94862
推荐阅读
- android - 找不到 com.android.support:appcompat-v7:27.1.0
- javascript - 使用加载功能加载页面时,jquery keyup 功能不起作用
- sql - 创建外部表 - Oracle 中的自动化
- laravel - 如何从 laravel 中的第三个表中获取值并按 id 降序排序
- sql-server - 监听 azure 数据库数据更改 (CRUD) 并在事件中执行一些任务
- ios - 如何检测使用 PDF KIT iOS 加载的 pdf 的变化
- database - 将 Cassandra2 集群迁移到新的 Cassandra3 集群,架构相同,停机时间为零
- android - 将 BottomNavigationView 与新的 NavController 一起使用时,有没有办法让片段保持活动状态?
- java - 从 JSP 创建 PDF
- java - 过滤哈希图时输出不正确