您如何将 NGINX 指向多个站点的标准 PHP?

问题描述

所以我的任务是升级 RHEL 中 NGINX 使用的 php。我从 RHEL 存储库安装了 NGINX,但是我按照添加 PHP 的说明从 remi 存储库中获取了它。我需要转移到 PHP 以满足我们安全团队的要求,但不确定如何配置它以与我正在做的一样。我将此设置与铁丝网和胶带放在一起,以支持通过 NGINX 运行 2 个站点。 1 是一个 rundeck 站点,另一个是 wiki。有了所有的配置,我很困惑如何在没有 remi 安装的情况下重复相同的操作。这是我的配置方式:

将 nginx 移动到端口 8080 并为 rundeck 和 wiki 分离 2 个站点: $vi /etc/nginx/nginx.conf(修改服务器块)

server {
listen 8080 default_server;
listen [::]:8080 default_server;
server_name _;
root /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

$vi /etc/nginx/conf.d/rundeck.conf

server {
listen 8080;
listen [::]:8080;
server_name mymachine.mydomain;
access_log /var/log/nginx/mymachine.mydomain.access.log;

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
 
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}

location ^~ /wiki {
alias /var/www/wiki/html;
index index.php;

if (!-e $request_filename) { rewrite ^ /wiki/index.php last; }

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
    
location / {
proxy_pass http://localhost:4440;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

将 rundeck 配置更改为指向端口 8080:

$vi /etc/rundeck/rundeck-config.properties

grails.serverURL=http://mymachine.mydomain:8080

更改 rundeck 框架属性文件以指向相同的服务器名称: $vi /etc/rundeck/framework.properties

framework.server.name = mymachine.mydomain
framework.server.hostname = mymachine.mydomain
framework.server.port = 4440
framework.server.url = http://mymachine.mydomain:4440

有什么帮助吗?谢谢!

解决方法

这是一项服务器管理任务,与 PHP 编程无关...

PHP-FPM 在单独的服务器上运行,或者在您的情况下,在同一服务器上的单独进程中运行。请求通过端口 9000(fastcgi_pass 指令)转发到此 FPM 服务器。

nginx 网络服务器侦听端口 8080,但您基本上可以使用任何您想要的端口。然而,如果你配置同一个“服务器”来监听多个端口,它仍然是同一个站点(=同一个文档根目录)——顺便说一句,你的配置中缺少这个......

但是您可以创建第二个“服务器”部分并配置另一个站点(=文档根目录)...

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...