Score:0

Nginx - virtualhost ทำงานไม่ถูกต้อง

ธง gb

ฉันซื้อ macOS Big Sur และฉันกำลังพยายามติดตั้ง php + nginx แต่ฉันมีปัญหาตลอดเวลาและไม่สามารถเพิ่มโดเมนของฉันได้อย่างถูกต้อง ฉันมีการกำหนดค่านี้:

usr/local/etc/php/7.3/php-fpm.d/www.conf

; เริ่มกลุ่มใหม่ชื่อ 'www'
; ตัวแปร $pool สามารถใช้ในคำสั่งใดก็ได้และจะถูกแทนที่ด้วย
; ชื่อสระ ('www' ที่นี่)
[www]

; ต่อคำนำหน้าสระ
; ใช้กับคำสั่งต่อไปนี้เท่านั้น:
; - 'การเข้าถึง. ล็อก'
; - 'บันทึกช้า'
; - 'ฟัง' (unixsocket)
; - 'โครต'
; - 'chdir'
; - 'php_values'
; - 'php_admin_values'
; เมื่อไม่ได้ตั้งค่า คำนำหน้าส่วนกลาง (หรือ /usr/local/Cellar/[email protected]/7.3.31) จะใช้แทน
; หมายเหตุ: คำสั่งนี้ยังสามารถสัมพันธ์กับคำนำหน้าส่วนกลาง
; ค่าเริ่มต้น: ไม่มี
;คำนำหน้า = /path/to/pools/$pool

; ผู้ใช้ Unix/กลุ่มกระบวนการ
; หมายเหตุ: ผู้ใช้จำเป็น หากไม่ได้ตั้งค่ากลุ่มไว้ จะเป็นกลุ่มของผู้ใช้เริ่มต้น
; จะถูกนำไปใช้.
ผู้ใช้ = pcyrkl01
กลุ่ม = พนักงาน

; ที่อยู่ที่จะรับคำขอ FastCGI
; ไวยากรณ์ที่ถูกต้องคือ:
; 'ip.add.re.ss:port' - เพื่อฟังซ็อกเก็ต TCP ไปยังที่อยู่ IPv4 เฉพาะบน
; พอร์ตเฉพาะ
; '[ip:6:addr:ess]:port' - เพื่อฟังซ็อกเก็ต TCP ไปยังที่อยู่ IPv6 เฉพาะบน
; พอร์ตเฉพาะ
; 'พอร์ต' - เพื่อฟังซ็อกเก็ต TCP ไปยังที่อยู่ทั้งหมด
; (แมป IPv6 และ IPv4) บนพอร์ตเฉพาะ
; '/path/to/unix/socket' - เพื่อฟังบนซ็อกเก็ตยูนิกซ์
; หมายเหตุ: ค่านี้เป็นค่าบังคับ
ฟัง = 127.0.0.1:9073

ฉันลองใช้การกำหนดค่าต่างๆ แต่ไม่พบวิธีแก้ไขปัญหา แม้ว่าจะทำการค้นหาเป็นเวลาหลายชั่วโมงแล้วก็ตาม

โฮสต์เสมือนของฉันสำหรับ admin.local

เซิร์ฟเวอร์ {

        #สำหรับhttps
        ฟัง 443 ssl;
        ฟัง [::]:443 ssl;
        ssl_certificate /Users/pcyrkl01/ssl/default.crt;
        ssl_certificate_key /Users/pcyrkl01/ssl/default.key;

        server_name admin.local;
        รูท /Users/pcyrkl01/sites/admin.local/web_admin;
        ดัชนี index.php index.html index.htm;

        ที่ตั้ง / {
          try_files $uri @rewriteapp;
        }

        ตำแหน่ง @rewriteapp {
            เขียนใหม่ ^(.*)$ /app_dev.php/$1 สุดท้าย;
        }

        ตำแหน่ง ~ ^/(app|app_dev|config|index)\.php(/|$) {
            fastcgi_pass 127.0.0.1:9073;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            รวม fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            #แก้ไขหมดเวลา
            fastcgi_read_timeout 600;
            ปิด fastcgi_param HTTPS;
        }

        ตำแหน่ง ~* \.(eot|ttf|woff|woff2)$ {
            add_header Access-Control-Allow-Origin *;
        }

        error_log /Users/pcyrkl01/web_log/symfony_error.log;
        access_log /Users/pcyrkl01/web_log/symfony_access.log;
    }

local.backend

 เซิร์ฟเวอร์ {
    
            #สำหรับhttps
            ฟัง 443 ssl;
            ฟัง [::]:443 ssl;
            ssl_certificate /Users/pcyrkl01/ssl/default.crt;
            ssl_certificate_key /Users/pcyrkl01/ssl/default.key;
    
            server_name admin.local;
            รูท /Users/pcyrkl01/sites/admin.local/web;
            ดัชนี index.php index.html index.htm;
    
            ที่ตั้ง / {
              try_files $uri @rewriteapp;
            }
    
            ตำแหน่ง @rewriteapp {
                เขียนใหม่ ^(.*)$ /app_dev.php/$1 สุดท้าย;
            }
    
            ตำแหน่ง ~ ^/(app|app_dev|config|index)\.php(/|$) {
                fastcgi_pass 127.0.0.1:9073;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;
                รวม fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                #แก้ไขหมดเวลา
                fastcgi_read_timeout 600;
                ปิด fastcgi_param HTTPS;
            }
    
            ตำแหน่ง ~* \.(eot|ttf|woff|woff2)$ {
                add_header Access-Control-Allow-Origin *;
            }
    
            error_log /Users/pcyrkl01/web_log/symfony_error.log;
            access_log /Users/pcyrkl01/web_log/symfony_access.log;
        }

nginx.conf ของฉัน

#ผู้ใช้ไม่มีใคร;
ผู้ปฏิบัติงาน_กระบวนการ 1;

#error_log บันทึก/error.log;
#error_log บันทึก/การแจ้งเตือน error.log;
#error_log บันทึก/error.log ข้อมูล;

#pid บันทึก/nginx.pid;


เหตุการณ์ {
    worker_connections 1024;
}


http {
    รวม mime.types;
    แอปพลิเคชัน default_type/octet-stream;

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$สถานะ $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log บันทึก/access.log หลัก;

    ส่งไฟล์บน;
    #tcp_nopush บน;

    #keepalive_timeout 0;
    keepalive_timeout 65;

    #gzip บน;

    เซิร์ฟเวอร์ {
        ฟัง 80;
        server_name localhost;

        #charset koi8-r;

        #access_log บันทึก/host.access.log หลัก;

        ที่ตั้ง / {
            รูท html;
            เปิด fastcgi_intercept_errors;
            fastcgi_pass 127.0.0.1:9073;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            # อีกครั้ง คุณอาจต้องเปลี่ยนเส้นทางนี้ โดยขึ้นอยู่กับการติดตั้งเบียร์
            รวม /usr/local/etc/nginx/fastcgi_params;
        }

        #error_page 404 /404.html;

        # เปลี่ยนเส้นทางหน้าข้อผิดพลาดของเซิร์ฟเวอร์ไปยังหน้าสแตติก /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        ตำแหน่ง = /50x.html {
            รูท html;
        }

        # พร็อกซี่สคริปต์ PHP เพื่อ Apache ฟัง 127.0.0.1:80
        #
        #location ~ \.php$ {
        #proxy_pass http://127.0.0.1;
        #}

        # ส่งสคริปต์ PHP ไปยังเซิร์ฟเวอร์ FastCGI ที่รับฟัง 127.0.0.1:9000
        #
        ตำแหน่ง ~ \.php$ {
           รูท html;
            fastcgi_pass 127.0.0.1:9073;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
            รวม fastcgi_params;
        }

        # ปฏิเสธการเข้าถึงไฟล์ .htaccess ถ้ารูทเอกสารของ Apache
        # เห็นด้วยกับของ nginx
        #
        #location ~ /\.ht {
        #ปฏิเสธทั้งหมด
        #}
    }


    # โฮสต์เสมือนอื่นที่ใช้การผสมผสานระหว่าง IP-, name- และการกำหนดค่าตามพอร์ต
    #
    #เซิร์ฟเวอร์ {
    #ฟัง8000;
    # ฟังชื่อ:8080;
    # server_name somename นามแฝง another.alias;

    #    ที่ตั้ง / {
    # รูท html;
    # ดัชนี index.html index.htm;
    # }
    #}


    #เซิร์ฟเวอร์ HTTPS
    #
    #เซิร์ฟเวอร์ {
    # ฟัง 443 ssl;
    # server_name localhost;

    # ssl_certificate cert.pem;
    # ssl_certificate_key cert.key;

    # ssl_session_cache ที่แชร์:SSL:1m;
    #ssl_session_timeout 5 นาที;

    # ssl_ciphers สูง:!aNULL:!MD5;
    # ssl_prefer_server_ciphers บน;

    #    ที่ตั้ง / {
    # รูท html;
    # ดัชนี index.html index.htm;
    # }
    #}
    รวมเซิร์ฟเวอร์/*;
}

การอนุญาตไฟล์ของฉัน

 -rw-r--r-- พนักงาน 1 pcyrkl01 1.9K 20 ต.ค. 15:03 น. Dockerfile
-rw-r--r-- พนักงาน 1 pcyrkl01 2.3K 20 ต.ค. 15:03 น. Dockerfile73
-rw-r--r-- 1 pcyrkl01 พนักงาน 2.2K 20 ต.ค. 15:03 README.md
drwxr-xr-x 9 pcyrkl01 พนักงาน 288B 20 ต.ค. 15:03 น.
drwxr-xr-x 4 pcyrkl01 พนักงาน 128B 20 ต.ค. 15:15 น.
-rw-r--r-- พนักงาน 1 pcyrkl01 4.0K 20 ต.ค. 15:03 ผู้แต่ง json
-rw-r--r-- พนักงาน 1 pcyrkl01 345K 20 ต.ค. 15:03 ผู้แต่งล็อค
-rwxr-xr-x 1 pcyrkl01 พนักงาน 1.8M 20 ต.ค. 15:03 ผู้แต่ง.phar
drwxr-xr-x 3 pcyrkl01 พนักงาน 96B 20 ต.ค. 15:03 น. ปรับใช้
-rw-r--r-- 1 pcyrkl01 พนักงาน 662B 20 ต.ค. 15:03 น. deploy.php
-rw-r--r-- พนักงาน 1 pcyrkl01 3.6K 20 ต.ค. 15:03 น. deploy_aws.php
-rw-r--r-- พนักงาน 1 pcyrkl01 12K 20 ต.ค. 15:03 น. deploy_test.php
-rw-r--r-- พนักงาน 1 pcyrkl01 787B 20 ต.ค. 15:03 น. docker-compose.dev.yml
drwxr-xr-x 5 pcyrkl01 พนักงาน 160B 20 ต.ค. 15:03 น. เอกสาร
drwxr-xr-x 6 pcyrkl01 พนักงาน 192B 20 ต.ค. 15:03 น. ด้านหน้า
-rw-r--r-- 1 pcyrkl01 พนักงาน 13K ต.ค. 20 15:03 น. gulpfile.js
-rw-r--r-- 1 pcyrkl01 พนักงาน 1.5K 20 ต.ค. 15:03 น. nagios.php
drwxr-xr-x 677 พนักงาน pcyrkl01 21K 20 ต.ค. 15:12 น. node_modules
-rw-r--r-- พนักงาน 1 pcyrkl01 287K 20 ต.ค. 15:12 น. npm-shrinkwrap.json
-rw-r--r-- พนักงาน 1 pcyrkl01 290K 20 ต.ค. 15:03 น. package-lock.json
-rw-r--r-- 1 pcyrkl01 พนักงาน 769B 20 ต.ค. 15:03 น. package.json
-rw-r--r-- พนักงาน 1 pcyrkl01 1.3K 20 ต.ค. 15:03 น. phpunit.xml.dist
drwxr-xr-x 5 pcyrkl01 พนักงาน 160B 20 ต.ค. 15:03 น.
drwxr-xr-x 6 pcyrkl01 พนักงาน 192B 20 ต.ค. 15:03 การทดสอบ
drwxr-xr-x 6 pcyrkl01 พนักงาน 192B 20 ต.ค. 15:15 น.
drwxr-xr-x 65 pcyrkl01 พนักงาน 2.0K 20 ต.ค. 15:15 ผู้ขาย
drwxr-xr-x 31 pcyrkl01 พนักงาน 992B 20 ต.ค. 15:15 น. เว็บ
drwxr-xr-x 7 pcyrkl01 พนักงาน 224B 20 ต.ค. 15:09 น. web_admin
drwxr-xr-x 6 pcyrkl01 พนักงาน 192B 20 ต.ค. 15:03 น. web_api

ใน / etc / hosts ฉันได้เพิ่ม: 127.0.0.1 admin.local local.backend

รายการบริการชง

nginx เริ่มทำงาน pcyrkl01 /Users/pcyrkl01/Library/LaunchAgents/homebrew.mxcl.nginx.plist
[email protected] เริ่มทำงาน pcyrkl01 /Users/pcyrkl01/Library/LaunchAgents/[email protected]

ปัญหาคือโฮสต์ทั้งสองเปิดให้ฉันแทนที่จะเป็นไซต์คือตำแหน่ง /usr/local/var/www แทนที่จะเป็นของฉัน - Users/pcyrkl01/sites/local.admin/ เว็บหรือ web_admin

tw flag
คุณเข้าเว็บไซต์บน https หรือไม่? ดูเหมือนว่าจะใช้โฮสต์อื่น คุณจะเห็นว่าเส้นทางในบันทึกแตกต่างจาก `root /usr/local/var/www/localdomain;'
PawelC avatar
gb flag
@martin.malek ได้อัปเดตโพสต์ทั้งหมดและเพิ่มรายละเอียดเพิ่มเติม :)
tw flag
ยังไม่เห็นว่าคุณกำลังเข้าใช้ url อะไร
PawelC avatar
gb flag
@martin.malek admin.local และ local.backend พร้อม https เมื่อเริ่มต้น
tw flag
ดูดี แค่ nginx.conf ยังไม่สมบูรณ์ คุณรวมไฟล์เซิร์ฟเวอร์ของคุณใน nginx.conf หรือไม่ เพียงลองทำข้อผิดพลาดในไฟล์ local.backend หาก nginx ไม่เริ่มทำงาน
PawelC avatar
gb flag
@martin.malek ฉันเพิ่มเนื้อหาทั้งหมดของ nginx.conf ในโพสต์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา