nginx php mysql 多站点

nginx php mysql 多站点

我在配置 Nginx/php 以将服务请求路由到不同站点时遇到了麻烦。我们在我们的 Web 应用程序中创建了一个服务,它将内容推送到 nginx 托管的网站(实际上,该服务调用了 Web 服务器 php 脚本,该脚本将内容写入数据库,然后 nginx 使用 php 将其显示在网站上)。根网站(站点 A)一切正常。请求已接收并写入 MySql 数据库和数据库 A,网站可以正常读取它。问题出在站点 B,发送到站点 B 的每个请求都由站点 A 接收并写入数据库 A,而不是数据库 B。

我尝试使用 php-fpm 将它们分开,但没有成功。我对 nginx/php 配置的经验很少,因此任何帮助都将不胜感激。需要什么样的设置才能实现这一点。

到目前为止我已经尝试过什么。

在phppool.d文件夹中新建一个pool.siteB.conf,其内容为。

; Start a new pool named 'www'. 
; the variable $pool can be used in any directive and will be replaced by the 
; pool name ('www' here) [siteB]
user = www-data group = www-data
listen = /run/php/php7.0-fpm-siteB.sock
listen.owner = www-data 
listen.group = www-data
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

?我是否需要 sock 值/端口,用户/组是否需要从 www 组更改为另一个用户。

文件夹中var/www/html/php/service有一个 php 脚本,它连接到 mysql 数据库并为第一个网站(网站 A)写入内容。

在 nginx 服务器上我有几个网站(全部通过端口 80 访问),每个网站在 mysql 数据库中都有自己的数据库文件。所有其他网站都有相同的设置(例如var/www/siteB/php/service

当指向一个 IP 地址时http:/siteA/php/service一切正常,内容被写入到适当的数据库中。

当指向某个地址时,http://siteB/php/service内容不会被写入。通过 nginx 为网站页面提供服务非常顺利,除了数据库内容(未写入数据库文件)外,所有网站都已加载。

所以我猜我需要配置 nginx 以正确地将请求路由到 siteB,我该怎么做呢?

我的 nginx 配置是

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
worker_connections 768;
# multi_accept on;
}

http {

##
# Basic Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;

 server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# SSL Settings
##

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;

##
# Logging Settings
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";

# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript 
text/xml application/xml application/xml+rss text/javascript;

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}


#mail {
#   # See sample authentication script at:
#   # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#   # auth_http localhost/auth.php;
#   # pop3_capabilities "TOP" "USER";
#   # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#   server {
#       listen     localhost:110;
#       protocol   pop3;
#       proxy      on;
#   }
# 
#   server {
#       listen     localhost:143;
#       protocol   imap;
#       proxy      on;
#   }
#}

相关内容