如何在Nginx Web服务器中运行Python脚本

问题描述 投票:0回答:1

[我看过几篇文章,人们努力使python通过cgi运行。我正在附加我的文件,最近如何取得同样的效果。

python nginx cgi fastcgi
1个回答
0
投票

如果使用的是nginx,最好确保已安装php-fpm。在/ etc / nginx中,

也,

cat fastcgi_params

fastcgi_param QUERY_STRING $ query_string;fastcgi_param REQUEST_METHOD $ request_method;fastcgi_param CONTENT_TYPE $ content_type;fastcgi_param CONTENT_LENGTH $ content_length;

fastcgi_param SCRIPT_NAME $ fastcgi_script_name;fastcgi_param REQUEST_URI $ request_uri;fastcgi_param DOCUMENT_URI $ document_uri;fastcgi_param DOCUMENT_ROOT $ document_root;fastcgi_param SERVER_PROTOCOL $ server_protocol;fastcgi_param REQUEST_SCHEME $方案;fastcgi_param HTTPS $ https if_not_empty;fastcgi_param GATEWAY_INTERFACE CGI / 1.1;fastcgi_param SERVER_SOFTWARE nginx / $ nginx_version;fastcgi_param REMOTE_ADDR $ remote_addr;fastcgi_param REMOTE_PORT $ remote_port;fastcgi_param SERVER_ADDR $ server_addr;fastcgi_param SERVER_PORT $ server_port;fastcgi_param SERVER_NAME $ server_name;

仅PHP,如果PHP是使用--enable-force-cgi-redirect构建的,则为必需

fastcgi_param REDIRECT_STATUS 200;cat fcgiwrap.conf位置/ cgi-bin / {#禁用gzip(这会使脚本感觉变慢,因为它们必须完成#压缩之前)gzip关闭;#将根目录设置为/ usr / lib(在此位置,这意味着我们#允许访问/ usr / lib / cgi-bin下的文件)#root / var / lib;根location_to_your_directory;#Fastcgi套接字fastcgi_pass Unix:/var/run/fcgiwrap.socket;#Fastcgi参数,包括标准参数包括/ etc / nginx / fastcgi_params;#调整非标准参数(SCRIPT_FILENAME)#original fastcgi_param SCRIPT_FILENAME / usr / lib $ fastcgi_script_name;fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;}最重要的是,在启用站点的目录中,即etc / nginx / sites-enabled /,我们将为特定的站点/应用程序使用nginx配置,并使其获取/识别python脚本。通过确保配置中存在以下几行来使用cgi。

服务器{听80;服务器名称 ;索引index.html;根 ;位置〜.py $ {fastcgi_split_path_info ^(。+。py)(/.+)$;#在传递前检查PHP脚本是否存在try_files $ fastcgi_script_name = 404;#绕过try_files重置$ fastcgi_path_info的事实#参见:http://trac.nginx.org/nginx/ticket/321设置$ path_info $ fastcgi_path_info;fastcgi_param PATH_INFO $ path_info;包括fastcgi.conf;gzip关闭;#将根目录设置为/ usr / lib(在此位置,这意味着我们#允许访问/ usr / lib / cgi-bin下的文件)#root / var / lib;根目录/ home / mohdnizam_at / mastercool;#Fastcgi套接字fastcgi_pass Unix:/var/run/fcgiwrap.socket;#Fastcgi参数,包括标准参数包括/ etc / nginx / fastcgi_params;#调整非标准参数(SCRIPT_FILENAME)#original fastcgi_param SCRIPT_FILENAME / usr / lib $ fastcgi_script_name;fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;}}

© www.soinside.com 2019 - 2024. All rights reserved.