nginx php mysql 다중 사이트

nginx php mysql 다중 사이트

서비스 요청을 다른 사이트로 라우팅하도록 Nginx/php를 구성하는 데 문제가 있습니다. 우리는 웹 앱 내에서 nginx 호스팅 웹 사이트에 콘텐츠를 푸시하는 서비스를 만들었습니다(실제로 서비스는 콘텐츠를 데이터베이스에 쓰는 웹 서버 PHP 스크립트에서 호출되고 nginx는 PHP를 사용하여 웹 사이트에 표시합니다). 루트 웹 사이트(사이트 A)에서는 모든 것이 잘 작동합니다. 요청이 수신되어 MySql 데이터베이스 A 데이터베이스에 기록되고 웹사이트에서 정상적으로 읽힙니다. 문제는 사이트 B에 있습니다. 사이트 B로 전송된 모든 요청은 사이트 A에서 수신되어 데이터베이스 B 대신 데이터베이스 A에 기록됩니다.

나는 php-fpm으로 분리하려고 시도했지만 운이 없었습니다. nginx/php 구성에 대한 내 경험이 부족하므로 도움을 주시면 감사하겠습니다. 이를 달성하려면 어떤 종류의 설정이 필요합니까?

내가 지금까지 시도한 것.

php pool.d 폴더에 새 풀을 생성했습니다. 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

? 양말 값/포트가 필요합니까? 사용자/그룹을 www-group에서 다른 사용자로 변경해야 합니까?

폴더 안에는 var/www/html/php/servicemysql 데이터베이스에 연결하고 첫 번째 웹 사이트(사이트 A)에 대한 콘텐츠를 작성하는 PHP 스크립트가 있습니다.

nginx 서버에는 여러 웹 사이트(모두 포트 80을 통해 액세스)가 있으며 각 웹 사이트에는 mysql 데이터베이스 내에 자체 데이터베이스 파일이 있습니다. 다른 모든 사이트는 동일한 설정을 갖습니다(예 var/www/siteB/php/service:)

IP 주소를 가리키면 http:/siteA/php/service모든 것이 제대로 작동하고 콘텐츠가 적절한 데이터베이스에 기록됩니다.

주소를 가리키면 http://siteB/php/service내용이 기록되지 않습니다. 웹 사이트 페이지 제공은 nginx에서 잘 작동하며, DB 콘텐츠(DB 파일에 기록되지 않음)를 제외한 모든 웹 사이트가 로드됩니다.

그래서 요청을 siteB로 적절하게 라우팅하려면 nginx를 구성해야 할 것 같은데, 어떻게 해야 할까요?

내 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;
#   }
#}

관련 정보