展开

关键词

生产级部署 Python 脚本,崩溃了怎么办?

今天介绍一个生产级的流程管理工具 PM2,通常我们说到 PM2 的时候,都是在说如何部署 Node.js 程序,但是实际上 PM2 很强大,不仅仅可以用来管理 Node.js,它还可以用来管理 Python 这里就以 Python 举例子,来看看 PM2 如何部署管理 Python 脚本。 现在,已经成功安装好 PM2 了,让我们启动一个 Python 应用吧。启动 Python使用 PM2 启动应用非常的简单,它讲根据脚本扩展自动匹配解释器,用以运行指定的应用程序。 服务器重启时,依然保持运行使用 PM2 启动 Python 程序之后,PM2 只能保证启动的这个 Python 程序发生意外崩溃的时候,对他进行重启。 虽然这里使用 Python 来举例,但是本文所有相关命令,是可以适用其他 PM2 支持的脚本程序。

8010

pm2快速部署Django项目

以前写过一篇 部署django全攻略, 后来被人吐槽, 整个流程手动部署下来 需要花20多分钟, 如果能像python manage runserver一行命令启动就好了Django项目的开发阶段, 可以使用 python manage runserver启动Django内置的web服务, 但Django内置的web服务很容易挂到,所以我们需要给它加一个守护进程解决之道:pm2是一个进程管理工具, 它可以为你的脚本创建守护进程 推荐使用npm安装pm2(安装nodejs之后, npm就自动安装好了) nodejs安装包下载地址 pm2的使用pm2可以守护执行shell脚本, 我们可以把python manage runserver 当然也可以直接把上面的start.sh脚本内容改成python manage runserver 0.0.0.0:80, 这样就可以通过 http:zhaoolee.com 直接访问站点了 ? 把python manage runserver进程守护起来是一种讨巧的做法, 如果你刚刚开发了一个django项目又懒得去配置uwsgi以及nginx的转发规则, 可以用pm2一键部署项目

87610
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年38元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pm2在node中的应用

    进程管理器交互 )安装:npm install -g pm2用法:npm install pm2 -g # 命令行安装 pm2pm2 start app.js -i 4 #后台运行pm2,启动4个app.js # 命名进程pm2 list # 显示所有进程状态pm2 monit # 监视所有进程pm2 logs # 显示所有进程日志pm2 stop all # 停止所有进程pm2 restart all # 重启所有进程pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)pm2 stop 0 # 停止指定的进程pm2 restart 0 # 重启指定的进程pm2 startup :pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目pm2 start app.js -i 3 # 启动3个进程pm2 start app.js -x #用fork模式启动 bashpm2 start my-python-script.py -x --interpreter python效果图:??

    63800

    Docker 镜像构建:Python & Node

    在进行 Python 开发时,建议使用 pipenv 进行包管理,使用 node 中的 pm2 进行应用监控。 本文将会简述如何构建一个 Python + Node + pipenv + pm2 环境的镜像。01—构建镜像编写 Dockerfile 文件如下所示:? 构建镜像,命名为 python-node ,tag 为 1.0.0:docker build -t python-node:1.0.0 .执行此命令需要注意的是,最后的符号 . 02—镜像仓库上一步成功构建了一个 Python + Node + pipenv + pm2 环境的镜像,对应用程序而言,此环境完全可以是通用的,因此我们在构建具体应用的镜像时可以直接将其作为基础镜像, 指定基础镜像,设置工作目录,复制项目文件,暴露应用端口,安装项目依赖库,最后通过 CMD 指定容器启动时自动通过 pm2 部署应用服务,需要注意的是这里不能使用 pm2 而必须使用 pm2-runtime

    1K41

    PM2安装方式及其常用命令!

    一、PM2 的基本操作命令1、pm2 安装pm2 的安装需要 node.js 的环境,npm 是 node.js 内置应用,怎么安装 node.js ,看这里!。 npm install pm2@latest -g# oryarn global add pm2 # 更新 PM2 pm2 update2、pm2 安装目录# pm2安装目录 HOME.pm2 # pm2 3、启动应用# 支持不同文件格式 pm2 start app.js pm2 start bashscript.sh pm2 start python-app.py pm2 start binary-file pm2 start npm run start pm2 start ls -la pm2 start app.py # 设置启动应用的显示名称 pm2 start app.js --name # 监控应用目录 pm2 monit7、查看 PM2 所有命令说明# 查看所有命令 pm2 --help #or pm2 -h二、参考文档PM2安装方式及其常用命令!

    7420

    Node应用的进程管理器: PM2详细介绍

    PM2用法$ npm install pm2 -g # 命令行安装 pm2 $ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js # 也可以把max 参数传递给 start $ pm2 logs # 显示所有进程日志$ pm2 stop all # 停止所有进程$ pm2 restart all # 重启所有进程$ pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)$ pm2 stop 0 # 停止指定的进程$ pm2 restart 0 # 重启指定的进程$ pm2 startup # 产生 init 脚本 保持进程活着$ pm2 web start my-python-script.py -x --interpreter python? PM2配置文件启动处理上面的名字可以控制台直接运行外,我们也可以对项目添加一个配置文件(如pm2.json){ apps: }然后json目录直接运行pm2 start pm2.json开机自动启动1、

    92820

    将Django部署到Centos7全攻略

    解压源码包tar -xvJf Python-3.7.0.tar.xz进入源码目录, 并编译安装cd Python-3.7.0.configure --prefix=usrlocalbinpython3makemake 安装python-pipyum install python-pip ?安装pipenvpip install pipenv ?安装nodejsyum install nodejs ? 安装pm2npm install pm2 -g ? 在manager.py的同级目录下, 创建pm2运行django程序的脚本文件start.sh vi start.shipython manage.py runserver 0.0.0.0:9000:wq pm2运行脚本, 开启django服务pm2 start start.sh ?查看服务运行状态pm2 list ?停止服务pm2 delete start.sh ?

    1K50

    让node.js服务永不跪的工具PM2的安装与使用

    进程管理器交互 )安装首先确保有node.js 的环境npm install -g pm2运行pm2 start app.js --name my-api # 命名进程其他运行方式:pm2 start bash pm2 start my-python-script.py -x --interpreter pythonnpm 运行pm2 start npm -- start动一个进程并把它命名为 testpm2 start npm --name test -- start使用npm install pm2 -g # 命令行安装 pm2 pm2 start app.js -i 4 #后台运行pm2,启动4个app.js pm2 monit # 监视所有进程 pm2 logs # 显示所有进程日志 pm2 stop all # 停止所有进程 pm2 restart all # 重启所有进程 pm2 reload all pm2 web # 运行健壮的 computer API endpoint (http:localhost:9615) pm2 delete 0 # 杀死指定的进程 pm2 delete all #

    72420

    PM2快速入门

    PM2快速入门本文翻译自pm2 quick-start,其对应的Github仓库地址为:github pm2 - quick-start欢迎!欢迎使用PM2快速入门! ,守护和监视应用程序的最简单方法是使用以下命令行:$ pm2 start app.js或轻松启动任何其他应用程序:$ pm2 start bashscript.sh$ pm2 start python-app.py 列出托管的应用程序列出由PM2管理的所有应用程序的状态:$ pm2 ? 更新PM2我们简化了流程,各个版本之间没有重大变化,过程也很简单:npm install pm2@latest -g然后更新内存中的PM2pm2 update备忘单以下是一些值得了解的命令。 如何更新PM2安装最新的pm2版本:npm install pm2@latest -g然后更新内存中的PM2pm2 update

    41810

    从 node 到 python

    首先,你必须通过 pipenv 在虚拟环境中安装一个 python 版本:pipenv --python 3.7虚拟环境中的 python 版本与你物理机本地的 python 版本相互隔离、互不影响,这意味你可以方便随意的进行 nodemon 默认使用 python 命令执行 py 后缀文件,也就是 python 2.7 版。 四部署 · pm2部署应用时,在 node.js 中我们一般使用 pm2 去监控程序,让它挂了能够自动重启,而在 python 中我们同样可以使用 pm2 。 因为 pm2 的 cluster 模式是依赖于 node.js 的,无法直接在 python 中使用,但我们其实并不用对此过于在意,因为很多框架本身已经提供了多 worker 的支持,其次我们关注的重点仍在于异常重启 ,而对比使用 supervisor 这种传统的部署监控方式,我当然更推荐 pm2

    27910

    PM2实用入门指南

    下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和配置。安装全局安装,简直不能更简单。npm install -g pm2目录介绍pm2安装好后,会自动创建下面目录。 --interpreter :the interpreter pm2 should use for executing app (bash, python...)。 pm2 stop app_name|app_id如果要停止所有应用,可以pm2 stop all删除类似pm2 stop,如下pm2 stop app_name|app_idpm2 stop all查看进程状态 #updating-pm2$ pm2 save # 记得保存进程状态$ npm install pm2 -g$ pm2 updatepm2 + nginx无非就是在nginx上做个反向代理配置,直接贴配置 pm2编程接口如果想把pm2的进程监控,跟其他自动化流程整合起来,pm2的编程接口就很有用了。

    895100

    PM2实用入门指南

    下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和配置。安装全局安装,简直不能更简单。npm install -g pm2目录介绍pm2安装好后,会自动创建下面目录。 --interpreter :the interpreter pm2 should use for executing app (bash, python...)。 pm2 stop app_name|app_id如果要停止所有应用,可以pm2 stop all删除类似pm2 stop,如下pm2 stop app_name|app_idpm2 stop all查看进程状态 pm2 monit看到类似输出# pm2 monit⌬ PM2 monitoring (To go further check out https:app.keymetrics.io) 0 %⌬ PM2 pm2编程接口如果想把pm2的进程监控,跟其他自动化流程整合起来,pm2的编程接口就很有用了。

    21310

    Django关闭debug, 保持静态文件可访问

    以前写了一篇pm2快速部署Django项目, 遗留了一个问题, 网站虽然可以稳定访问了, 但Django程序依然是调试模式, 如果故意访问错误的url, Django的报错页面就会将后端的路由暴露出来 ----用python manage.py runserver 0.0.0.0:8000 启动项目 ? ----解决办法:在python manage.py runserver 0.0.0.0:8000 后面追加--insecure python manage.py runserver 0.0.0.0:8000 访问不存在的页面, 直接返回Not Found ---- 按照pm2快速部署Django项目中的操作, 可以将start.sh脚本中的python manage.py runserver 0.0.0.0 :8000替换为python manage.py runserver 0.0.0.0:8000 --insecure 小结:记得刚接触Django的时候, 关闭Debug, 就无法访问部分静态目录,为了解决问题

    73530

    使用Python Flask发布机器学习API

    这个Python的微框架提供了一种使用REST端点注释Python功能的强大方法。正在使用Flask发布ML模型API,以供第三方业务应用程序访问。此示例基于XGBoost。 虽然它可以直接在Jupyter笔记本中启动Flask界面,但建议将其转换为Python脚本并从命令行作为服务运行。 使用Jupyter nbconvert命令转换为Python脚本:jupyter nbconvert — to python diabetes_redsamurai_endpoint_db.ipynb带有 Flask端点的Python脚本可以作为PM2流程管理器的后台进程启动。 PM2启动命令:pm2 start diabetes_redsamurai_endpoint_db.pypm2 monit有助于显示有关正在运行的进程的信息:ML模型分类从Postman到Flask服务的端点的

    93420

    PM2 进程管理工具使用总结

    PM2特点先来说一下 pm2 有哪些优点好处。 cpu和memory使用情况,keymetrics监控更为详细;支持开发调试模式,非后台运行,pm2-dev start ;支持pm2模块开发,实现pm2的功能扩展;keymetrics监控,比pm2 下面列举一些pm2常用的管理命令pm2 start 启动指定应用,如pm2 start index.js --name httpServer;pm2 stop 停止指定应用,如pm2 stop httpServer ;pm2 reload|restart 重启指定应用,如pm2 restart httpServer;pm2 show 显示指定应用详情,如pm2 show httpServer;pm2 delete 对于上述需求,可以两种方式实现,一是配置app0,app1,app2方式启动多个进程,二是通过应用实例自身调用child_process.fork多进程编程实现;fork模式可以应用于其他语言,如php,python

    1.1K40

    如何利用node把别人的html变成你想要的json

    那么,server怎么选择呢,我现在玩node,那自然是选择的express了,如果你在玩python,你选择flask也没任何问题,思路嘛,全部都是相通的,人生码路没有绕不过去的坎。 然后,我想强调的是,express如何做到后台启动,请了解一下pm2最近在用这个,简直爽的不要不要的。 如图所示,查看由pm2管理的node 服务的各种参数,不要太清晰,服务配置有改动,代码有改动直接 pm2 restart 1即可,id上面都有的,一清二楚。听到某个服务,只需要pm2 stop 1。 然后,日志相关的全部放在.pm2的文件夹下,如下图所示撸码环节,直接上代码了const express = require(express)const cheerio = require(cheerio

    95770

    pyspark-ml学习笔记:如何在pyspark ml管道中添加自己的函数作为custom stage?

    stackoverflow.comquestions51415784how-to-add-my-own-function-as-a-custom-stage-in-a-ml-pyspark-pipeline(2)https:stackoverflow.comquestions41399399serialize-a-custom-transformer-using-python-to-be-used-within-a-pyspark-ml-pipel usrbinenv python# -*- coding:utf8 -*- ------------------------------------------------- Description : stackoverflow.comquestions51415784how-to-add-my-own-function-as-a-custom-stage-in-a-ml-pyspark-pipeline 模型保存:https:stackoverflow.comquestions41399399serialize-a-custom-transformer-using-python-to-be-used-within-a-pyspark-ml-pipel sc.parallelize().toDF()pm = p.fit(df)pm.transform(df).show()pm.write().overwrite().save(.testtest.model)pm2 , pm2.stages.extractParamMap() == pm.stages.extractParamMap())pm2.transform(df).show()start_pyspark.pyimport

    88620

    基于NodeJS的KOA2框架实现restful API网站后台

    研究了Python的Flask框架和基于nodejs的koa2框架,都是大名鼎鼎,可之前接触不多,最后选择了koa2框架,写小程序的后台,顺便也学习一下这方面的开发。 安装pm2 npm install -g pm2下面列出常用命令$ npm install pm2 -g # 命令行安装 pm2 $ pm2 start app.js -i 4 #后台运行pm2,启动4 个app.js # 也可以把max 参数传递给 start # 正确的进程数目依赖于Cpu的核心数目$ pm2 start app.js --name my-api # 命名进程$ pm2 list # 显示所有进程状态$ pm2 monit # 监视所有进程$ pm2 logs # 显示所有进程日志$ pm2 stop all # 停止所有进程$ pm2 restart all # 重启所有进程$ pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)$ pm2 stop 0 # 停止指定的进程$ pm2 restart 0 # 重启指定的进程$ pm2 startup

    25830

    Ghost博客搭建日记

    让Ghost保持运行:$ cd varwwwghost $ npm install pm2 -g # 安装PM2 $ NODE_ENV=production $ pm2 start index.js - -name ghost $ pm2 startup centos pm2 save复制代码如果npm安装依赖的时候无法安装,需要把镜像换成淘宝的,再试试。 pm2 start index.js --name ghost $ pm2 startup centos $ pm2 save复制代码这样一来,我们的Ghost博客就可以保持运行啦,你可以使用以下指令来控制 python27-python-setuptools python27-python-tools python27-python-virtualenv$ yum install augeas-libs dialog gcc libffi-devel openssl-devel python-devel$ yum install python-argparse # CentOS 7$ yum install

    6K73

    【Nest教程】Nest项目部署在ubuntu服务器

    之前做了个公交实时查询小程序,后台服务用的是python,前段时间用nest重构了后台服务,打算服务部署在ubuntu服务器上。 直接用npm安装npm install -g pm2 检测是否安装完成pm2 --help 4 部署这里网上我查到的教程比较少,部署也遇到了不少坑,部署的时候要注意,首先,在服务器上找到你要部署项目的目录 进入dist目录,启动项目 pm2 start main.js 查看是否启动成功 ?这种情况就是已经启动成功。 关于为什么不在本地打包,然后复制打包文件,之后在部署的问题,这里做下解释。

    3911210

    相关产品

    • 消息队列 TDMQ

      消息队列 TDMQ

      消息队列 TDMQ 是基于 Apache 顶级开源项目Pulsar自研的金融级分布式消息中间件,是一款具备跨城高一致、高可靠、高并发的分布式消息队列,拥有原生Java 、 C++、Python、GO 多种API, 支持 HTTP 协议方式接入,可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券