当前位置: 首页 > wzjs >正文

老区建设网站外贸网站推广seo

老区建设网站,外贸网站推广seo,全国网站建设排名,数商云公司环境: SEMCP searx.webapp python 问题描述: 有两个python脚本都在虚拟环境下运行,怎么打包成一个系统服务,按照顺序启动? 解决方案: 将这两个 Python 脚本打包成有启动顺序的系统服务,最…

环境:

SEMCP

searx.webapp

python

问题描述:

有两个python脚本都在虚拟环境下运行,怎么打包成一个系统服务,按照顺序启动?

在这里插入图片描述

解决方案:

将这两个 Python 脚本打包成有启动顺序的系统服务,最常用的方法是在 Linux 系统上使用 systemd 来管理它们。将创建两个 systemd 服务单元文件,一个用于 searx.webapp,一个用于 SEMCP.py,并通过配置依赖关系确保 searx.webapp 先启动并运行稳定后,自动再启动 SEMCP.py

希望使用 root 用户运行(注意:在生产环境中通常不建议使用 root 用户运行服务,应创建专用用户以提高安全性)。

步骤 1: 创建 SearXNG Webapp 的 systemd 服务文件

创建一个名为 searxng-webapp.service 的文件,放在 /etc/systemd/system/ 目录下。

sudo nano /etc/systemd/system/searxng-webapp.service

将以下内容粘贴到文件中:

[Unit]
Description=SearXNG Web Application
After=network.target
Wants=semcp.service[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/mnt/program/Qwen3/searxng
# 修改 ExecStart 如下
ExecStart=/bin/bash -c '\source /root/miniconda/etc/profile.d/conda.sh && \conda activate qwen3_env && \exec python -m searx.webapp' # 注意这里激活环境后直接使用 python 命令即可
Restart=always
RestartSec=5[Install]
WantedBy=multi-user.target

保存并关闭文件。

步骤 2: 创建 SEMCP 脚本的 systemd 服务文件

创建一个名为 semcp.service 的文件,放在 /etc/systemd/system/ 目录下。

sudo nano /etc/systemd/system/semcp.service

将以下内容粘贴到文件中:

[Unit]
Description=SearXNG SEMCP Service
After=network.target searxng-webapp.service # 假设它依赖 webapp[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/mnt/program/Qwen3/searxng/searx
# 修改 ExecStart 如下
ExecStart=/bin/bash -c '\source /root/miniconda/etc/profile.d/conda.sh && \conda activate qwen3_env && \exec python SEMCP.py' # 注意这里激活环境后直接使用 python 命令即可
Restart=always
RestartSec=5[Install]
WantedBy=multi-user.target

保存并关闭文件。

关键点解释:

  • [Unit] 部分定义了服务的元信息和依赖关系。
    • After=network.target network-online.targetRequires= (在 semcp.service 中) 指定了服务的启动顺序和依赖。semcp.service 中的 After=searxng-webapp.serviceRequires=searxng-webapp.service 明确告诉 systemd,semcp.service 必须在 searxng-webapp.service 启动 之后 才能启动,并且依赖于它的成功启动。
  • [Service] 部分定义了如何运行服务。
    • UserGroup 指定了运行服务的用户和组。请根据实际情况和安全需求修改。
    • WorkingDirectory 指定了脚本执行时所在的目录。这对于 searx.webapp 需要在 SearXNG 根目录运行,而 SEMCP.py 需要在其所在目录运行的情况非常重要。
    • ExecStart 指定了服务的启动命令。我们直接调用虚拟环境中的 python 解释器来执行相应的模块或脚本。
    • Restart=on-failure 会让 systemd 在脚本非正常退出时自动重启服务。
    • StandardOutput=syslogStandardError=syslog 将服务的输出信息发送到系统日志(可以通过 journalctl 查看),方便调试。
  • [Install] 部分定义了服务如何被 systemd 启用。
    • WantedBy=multi-user.target 意味着当系统进入多用户运行级别时,此服务会被启动。

步骤 3: 重新加载 systemd 配置

创建或修改服务文件后,需要让 systemd 重新加载配置:

sudo systemctl daemon-reload

步骤 4: 启用服务(设置开机自启)

如果您希望服务在系统启动时自动运行,需要启用它们:

sudo systemctl enable searxng-webapp.service
sudo systemctl enable semcp.service

由于 semcp.service 依赖于 searxng-webapp.service,启用 semcp.service 也会间接确保 searxng-webapp.service 在启动序列中。

步骤 5: 启动服务

现在可以手动启动服务了。启动 semcp.service 会因为依赖关系自动先启动 searxng-webapp.service

sudo systemctl start semcp.service
# 或者分开启动,先启动webapp,再启动semcp:
# sudo systemctl start searxng-webapp.service
# sudo systemctl start semcp.service

步骤 6: 检查服务状态和日志

检查服务是否正常运行:

sudo systemctl status searxng-webapp.service
sudo systemctl status semcp.service

查看服务的详细日志(用于调试):

sudo journalctl -u searxng-webapp.service -f # -f 参数可以实时跟踪日志
sudo journalctl -u semcp.service -f

在这里插入图片描述
重要提示:

  1. 路径准确性: 请务必检查 /mnt/program/Qwen3/qwen3_env/bin/python/mnt/program/Qwen3/searxng/mnt/program/Qwen3/searxng/searx/SEMCP.py 这些路径是否准确无误。
  2. 权限问题: 确保运行服务的用户(这里是 root)对虚拟环境目录、SearXNG 目录、SEMCP.py 脚本及其可能读写的任何文件或目录拥有读、写、执行权限。
  3. SearXNG 启动时间: After=searxng-webapp.service 只保证 searxng-webapp 的进程启动了,不保证它已经完全初始化并开始监听端口。如果 SEMCP.py 启动太快导致连接 SearXNG 失败,您可能需要在 semcp.service[Service] 部分添加 ExecStartPre=/bin/sleep 10 (等待10秒) 或者编写一个更复杂的健康检查脚本来确保 SearXNG 可用后再启动 SEMCP.py
  4. 安全性: 强烈建议为服务创建一个专用的低权限用户,而不是使用 root。

通过以上步骤,您就可以将两个 Python 脚本配置为由 systemd 管理的系统服务,并确保它们按照所需的顺序启动。

http://www.dtcms.com/wzjs/212447.html

相关文章:

  • 江宁区建设工程质量监督站网站淘宝热搜关键词排行榜
  • 公司网站域名续费个人微信管理系统
  • 当今做那些网站致富北京网站推广服务
  • 网站维护上海网络营销服务公司
  • 南海网站建设电商营销策划方案
  • 稳稳在哪个网站做的消防直播网站代发外链
  • 做AI免费网站南宁企业官网seo
  • 什么软件能看网站?搜什么关键词比较刺激
  • 360免费建站方法泉州seo托管
  • 资源网站都有哪些网店推广常用的方法
  • 笔记本做网站要什么好百度搜索引擎算法
  • 网站默认样式表排名优化服务
  • 页面简洁的网站关键词推广方式
  • vs做的网站源代码百度搜索排名规则
  • 国外专门做童装的网站有哪些seosem是指什么意思
  • 有什么网站可以做推广阜阳seo
  • 河南建设网站官网seo研究中心教程
  • 东阳营销型网站建设品牌百度移动端模拟点击排名
  • 少儿编程和成人编程的区别网站seo推广方案
  • 南和网站建设公司中央新闻频道直播今天
  • 多米诺网站建设电话营销话术
  • 网站ssl证书怎么做网站怎么做推广和宣传
  • 建立网站需要什么条件营销方案模板
  • 网站建设丶金手指下拉14提升网页优化排名
  • 做网站的微信号东莞做网站公司电话
  • 宿迁新站seo今日国际重大新闻
  • 温州网站开发培训南昌seo教程
  • 网站建设经费nba赛程排名
  • 工作是套模板做网站广告投放网
  • 汕头市疫情最新情况seo内容优化心得