首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何优雅地重启django在nginx后面运行fcgi?

要优雅地重启Django在Nginx后面运行FastCGI的方式,可以按照以下步骤操作:

  1. 安装并配置Nginx和FastCGI:

首先,确保已经安装了Nginx和FastCGI。在Nginx配置文件中,需要添加以下配置来配置FastCGI:

代码语言:txt
复制
location / {
    fastcgi_pass 127.0.0.1:8000;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_pass_header Authorization;
    fastcgi_intercept_errors off;
}
  1. 配置Django FastCGI:

在Django项目的配置文件中,需要添加以下配置来配置FastCGI:

代码语言:txt
复制
FCGI_PROTOCOL = 'fcgi'
FCGI_HOST = '127.0.0.1'
FCGI_PORT = 8000
  1. 重启Django FastCGI:

要优雅地重启Django FastCGI,可以使用以下命令:

代码语言:txt
复制
spawn-fcgi -n -u www-data -g www-data -a 127.0.0.1 -p 8000 -P /var/run/fcgi.pid -U /tmp/fcgi.sock -f /path/to/your/django/project/manage.py -C "fcgi" runfcgi

这个命令将会以FastCGI协议在127.0.0.1:8000上运行Django应用,并将进程所有者设置为www-data。

  1. 重新加载Nginx:

最后,需要重新加载Nginx以使其生效:

代码语言:txt
复制
sudo service nginx reload

这样,就可以优雅地重启Django在Nginx后面运行FastCGI了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django3.0+supervisor+uvicorn+nginx进行线上部署

表示项目正常运行 其它的参数请参照文档: https://www.uvicorn.org/settings/ 进程管理 用uvicorn部署了之后, 极高的提升了性能 但是进程管理上就很麻烦 首先生产版本没有提供一个快速重启的接口...也没有优雅结束的功能 如果要结束服务,(特别是服务通过nohup等命令后台运行之后) 只能通过 ps -ef | grep uvicorn 查到进程id 然后通过 kill -9 process_id...ini文件 放在/etc/supervisord.d/里面 vim /etc/supervisord.d/userSystem.ini [fcgi-program:uvicorn] socket=tcp...nginx就完事了 nginx -s reload 结束 按照以上的步骤,能够部署号一个django3.0项目,性能高效,方便管理 假如出现错误 error: , [Errno 2] No such file or directory: file: line: 1 后面找了很久,终于找到了解决问题的方法。

1.3K30

日志分析工具Awstats实战之Nginx

#用户名为linuxidcadmin 配置完毕之后,检查nginx语法,然后优雅重启之后,用游览器访问www.linuxidc.com/awstats,输入账号密码之后即可查看统计信息了。...3、创建FCGI启动文件 vi /usr/local/nginx/sbin/fcgi      #此处按个人习惯命名 #!...进程管理器) perl /usr/local/nginx/sbin/fcgi >/dev/null 2>$1 在这里,Nginx需要对fcgi生成的/usr/local/nginx/fastcgi_temp...#用户名为linuxidcadmin 配置完毕之后,检查nginx语法,然后优雅重启之后,用游览器访问http://www.linuxidc.com/cgi-bin/awstats.pl?...#用户名为linuxidcadmin 配置完毕之后,检查nginx语法,然后优雅重启之后,用游览器访问www.linuxidc.com/awstats,输入账号密码之后即可查看统计信息了。

1.1K20
  • Django + Uwsgi + Nginx 的生产环境部署

    只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行 WSGI实质:WSGI是一种描述web服务器(如nginx,uWSGI等服务器)如何与web应用程序(如用...为什么需要web协议: 不同的框架有不同的开发方式,但是无论如何,开发出的应用程序都要和服务器程序配合,才能为用户提供服务。...Web协议介绍: Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi CGI: 最早的协议 FCGI: 比CGI快 WSGI: Python专用的协议 uwsgi: 比FCGI...Nginx Nginx是一个Web服务器,其中的HTTP服务器功能和uWSGI功能很类似 但是Nginx还可以用作更多用途,比如最常用的反向代理、负载均衡、拦截攻击等,而且性能极高 Django Django...所以如何部署Django不是Django所需要关心的。

    11.1K82

    Nginx + uWSGI + Pyt

    Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。...Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi CGI,最早的协议 FCGI,比CGI快 WSGI,Python专用的协议 uwsgi,比FCGI和WSGI都快,是uWSGI...Django中Python被普遍使用,甚至包括配置文件和数据模型。            ...这就是Django的力量。 该框架使您能够快速轻松从应用模型生成管理站点。 代码设计     与大多数 Web 框架相反,Django 通过使用称为 app 的东西,更容易地将新功能添加到产品中。...技术市场充斥着一系列网络框架,但Django最受欢迎的服务器端Web框架里处于顶峰位置。设计Django背后的座右铭很简单:避免重复。

    54010

    PHP-FPM 的管理和配置详解

    Nginx 0.8.46+PHP 5.2.14(FastCGI)服务器3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M...NOTE:FastCGI的主要优点是把动态语言和HTTP Server分离开来,所以Nginx与PHP/PHP-FPM经常被部署不同的服务器上,以分担前端Nginx服务器的压力,使Nginx专一处理静态请求和转发动态请求...直接杀死php-cgi进程,php就不能运行了(PHP-FPM和Spawn-FCGI就没有这个问题,守护进程会平滑重新生成新的子进程)。...q=Spawn-FCGI),但可以以前版本中找到它。...5)、对比Spawn-FCGI PHP-FPM的使用非常方便,配置都是PHP-FPM.ini的文件内,而启动、重启都可以从php/sbin/PHP-FPM中进行。

    90810

    PHP7中php.ini、php-fpm和www.conf 配置

    SIGSEGV或者SIGBUS错误的php-cgi进程数如果超过 emergency_restart_threshold个,php-fpm就会优雅重启。...FPM中,可以使用不同的设置来运行多个进程池。 这些设置可以针对每个进程池单独设置。 listen = 127.0.0.1:9000 监听端口,即nginx中php处理的地址,一般默认值即可。...如何控制子进程,选项有static和dynamic。如果选择static,则由pm.max_children指定固定的子进程数。...等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值: 0.这段配置的意思是,当一个 PHP-CGI 进程处理的请求数累积到 500 个后,自动重启该进程。...为什么要重启进程呢? 一般项目中,我们多多少少都会用到一些 PHP 的第三方库,这些第三方库经常存在内存泄漏问题,如果不定期重启 PHP-CGI 进程,势必造成内存使用量不断增长。

    1.6K30

    升级内核后spawn-fcgi无法启动

    但是升级重启后,发现blog打不开了。Nginx报502的Gateway错误。 第一反应就是起到php解析作用的spawn-fcgi没有启动起来。于是尝试再次手动启动。 但是发现怎么也启动不起来。...始终无法启动spawn-fcgi的fastcgi服务。说明不是内核的问题。 检查Nginx日志和系统日志都没有什么有价值的信息。...一筹莫展的时候,突然注意到启动spawn-fcgi的命令中包含了php-cgi这个命令。 会不会是php的问题呢。 后来手工直接执行,发现确实php有问题。...这次升级内核重启后,那些升级都生效了,结果问题就暴露出来了。 以后出现问题还是不要着急,任何环节都有可能出现问题。...Gentoo下安装PHP和Nginx请参考之前发表的帖子 ---- Previous 如何在iPhone的应用中使用Google Map

    1.4K20

    LNMP环境下Nginx中php-fpm的配置文件讲解

    的worker进程运行用户以及用户组 user nobody nobody; # 指定Nginx要开启的进程数,设置为CPU的总核数 worker_processes 2; # 指定Nginx全局错误日志路径与级别...默认虚拟主机 /usr/local/nginx/conf目录下新建立一个vhosts目录,并创建一个default.conf 配置文件; 1 2 3 4 5 6 7 8 9 10 [[email protected.../html; } listen 80后面默认不加;后面加 default 和 default_server 都可以;实验测试成功; 保存退出后,-t 检查配置文件是否正确,然后重启nginx;使用curl...或者浏览器输入192.168.20.30 显示nginx欢迎页面表示成功; 1 2 [[email protected] vhosts]# /usr/local/nginx/sbin/nginx -t...这个文件,所以会报502错误; php-fcgi.sock文件是php-fpm进程创建的;重启php-fpm服务,tmp目录下会出现;默认权限为660,其他用户没有执行权限。

    1.9K50

    概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

    FastCGI进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。...Nginx 0.8.46+PHP 5.2.14(FastCGI)服务器3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php- cgi进程消耗1280M...PHP-CGI的不足: php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启。 直接杀死php-cgi进程,php就不能运行了。...Spawn-FCGI目前已经独成为一个项目,更加稳定一些,也给很多Web 站点的配置带来便利。已经有不少站点将它与nginx搭配来解决动态网页。...PHP-FPM与spawn-CGI对比 PHP-FPM的使用非常方便,配置都是PHP-FPM.ini的文件内,而启动、重启都可以从php/sbin/PHP-FPM中进行。

    2.1K80

    Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)

    Web浏览器通过HTTP请求将数据发送给Nginx,但是Nginx的数据都是HTTP格式的,那么FastCGI如何处理这些数据呢?...注意我们的Nginx运行的端口为9000。...备注:如果出现访问错误,应该是Nginx配置文件的缩进没写对,shell中Tab缩进不是4字符 八、编程演示案例 让Nginx运行FastCGI程序的工作原理大致为: 第一步:先编写一个FastCGI...程序(例如名为demo.c),然后将其编译为一个可执行程序(例如编译名为demo) 第二步:使用spwanfcgi程序运行你这个FastCGI程序demo 第三步:编写Nginx配置文件,配置文件的location...cgi程序 -a:表明这个cgi程序运行时的IP -p:表明这个cgi程序运行时的端口 -f:表明运行的cgi程序(路径别错了) spawn-fcgi -a 0.0.0.0 -p 9001 -f ~

    2.5K20
    领券