Score:0

เบราว์เซอร์ดาวน์โหลดไฟล์แทนการเปิดไฟล์ php

ธง br

ดังนั้นฉันจึงโพสต์คำตอบ เพราะหลังจากติดตั้งใหม่ทั้งหมดสองครั้ง ฉันได้ตั้งค่า a แต่แตกต่างออกไป (ตามมุมมองของฉัน) อย่างที่ฉันพูดไปข้างต้น ฉันเผชิญกับภาวะที่กลืนไม่เข้าคายไม่ออกเนื่องจากไม่มีการกำหนดค่าใดที่เหมือนกับคำตอบอื่น ๆ ที่ฉันสามารถหาได้ ตัวอย่างเช่น:

โฟลเดอร์ /etc/nginx ของฉันถูกสร้างขึ้นโดยทั่วไปดังนี้:

|- /etc/nginx/
| |-conf.d/
| | |-default.conf
| |
| |- fastcgi_params
| |- mime.types
| |- โมดูล/ -> /usr/lib/nginx/modules
| |- nginx.conf
| |-scgi_params
| |- uwsgi_params

ไม่มี /sites-available หรือ /sites-enabled ดังที่เห็นทุกที่ fastcgi-php.conf ที่กล่าวถึงนั้นเป็น fastcgi_params ในโฟลเดอร์รูท ดังนั้นค่าเริ่มต้นของฉันจึงไม่อยู่ในโฟลเดอร์ที่มีไซต์

นี่คือไฟล์กำหนดค่าสองไฟล์ที่ฉันมี (โดเมนซ่อนอยู่ภายใต้ my_domain.com): อันดับแรก: nginx.conf (แทบไม่ถูกแตะต้อง)

    ผู้ใช้ nginx;

worker_processes อัตโนมัติ

error_log /var/log/nginx/error.log ประกาศ;

pid /var/run/nginx.pid;


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

}

http {
    รวม /etc/nginx/mime.types;
    รวม /etc/nginx/sites-available/*.conf;
    แอปพลิเคชัน 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 /var/log/nginx/access.log หลัก;
    ส่งไฟล์บน;
    #tcp_nopush บน;
    keepalive_timeout 65;
    #gzip บน;
    รวม /etc/nginx/conf.d/*.conf;

}

ประการที่สอง /etc/nginx/conf.d/default.conf

    เซิร์ฟเวอร์ {
    ฟัง 80;
    ชื่อเซิร์ฟเวอร์ my_domain.com www.my_domain.com;

    ที่ตั้ง / {
        รูท /var/www/www.my_domain.com;
        ดัชนี index.php index.html index.htm;
    }

    #error_page 404 /404.html;

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

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

    # ส่งสคริปต์ PHP ไปยังเซิร์ฟเวอร์ FastCGI ที่รับฟัง 127.0.0.1:9000
    #
    ตำแหน่ง ~ \.php$ {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        #if (!-f $document_root$fastcgi_script_name) {
        # กลับ 404;
        #}
        รูท /var/www/www.my_domain.com;
    # fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        รวม fastcgi_params;
        fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
    }
    

}

ฉันยังเพิ่มบรรทัด

ข้อความ/php php;

ไปที่ mime.types ฉันยังจำที่จะลบแคชของ my_domain ในเบราว์เซอร์ที่ฉันใช้ (Firefox, Opera และ Chrome)

แต่ถึงกระนั้นไฟล์จะถูกดาวน์โหลด

ฉันทำอะไรผิด ?

แก้ไข : เนื่องจากฉันต้องการสร้าง blog.my_domain.com, shop.my_domain.com และ forum._mydomain.com ฉันจึงสร้างโฟลเดอร์ /site-available และ /site-enabled ตั้งใจจะสร้าง blog/forum/shop .my_domain.com.conf ในแต่ละโฟลเดอร์ที่มีชื่อเดียวกันซึ่งอยู่ใน /sites-available แต่ฉันกำลังรอการกำหนดค่าที่ใช้งานได้เพื่อให้มองเห็นได้ใน nginx.conf (โดยมีบรรทัดรวมใช่ไหม)

ดังนั้นฉันจึงไม่ค่อยเข้าใจว่าโฟลเดอร์ทั้งสองนี้ทำงานอย่างไร โดเมนย่อยตั้งค่าระเบียน CNAME เป็น my_domain.com ฉันยังอ่านเกี่ยวกับการทำ symlink สำหรับเว็บไซต์ย่อยเหล่านี้ แต่ฉันไม่รู้จริง ๆ ว่ามาจากไหน ? ขอบคุณอีกครั้ง

บันทึกข้อผิดพลาดบอกฉันว่าการเชื่อมต่อกับ /var/run/php/ ถูกปฏิเสธ ผู้ใช้เริ่มต้นคือ www-data www-data แต่ผู้ใช้ nginx ดั้งเดิมของฉันคือ nginx (ถ้าฉันเปลี่ยน มันจะไม่เริ่มต้นด้วยซ้ำ) ฉันควรทำ

chown nginx:nginx /var/run/php/

?

Score:0
ธง th

ในการกำหนดค่า php คุณต้องติดตั้ง php-fpm เวอร์ชันบนระบบของคุณ และเพิ่มตัวอย่างนี้ใน nginx conf ของคุณในไฟล์ เซิร์ฟเวอร์ บล็อก.

คุณต้องเปลี่ยน php5-fpm เป็นเวอร์ชันที่คุณติดตั้งบนระบบของคุณ

  ตำแหน่ง ~ \.php$ {
    fastcgi_pass ยูนิกซ์:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    รวม fastcgi_params;
  }
Kl3m Michard avatar
br flag
ขอบคุณ ฉันจะลองดูในอีกสักครู่ ขออภัยในความล่าช้า ฉันต้องล้างข้อมูลและติดตั้งใหม่สองครั้งก่อนที่จะไปถึงที่นั่นอีกครั้ง ฉันขอรบกวนคุณอธิบายเพิ่มเติมได้ไหม ฉันจะโพสต์ไว้ด้านล่างเพื่อเป็นคำตอบสำหรับการใช้งานจริงมากขึ้น
Score:0
ธง gu

คุณไม่มีล่าม PHP แต่ NGINX มี บทความ บนวิกิเกี่ยวกับ FPM

Kl3m Michard avatar
br flag
ขอบคุณ แต่ฉันได้ทำตามคำแนะนำของพวกเขาในหน้านั้นแล้ว ยังคงไม่มีการเปลี่ยนแปลง ฉันไม่ใช่นักเขียนโค้ดทดลอง สิ่งที่พวกเขาพูดส่วนใหญ่เหมือนพูดพล่อยๆ กับฉัน มีใครสนใจจะอธิบายเพิ่มเติมอีกสักหน่อยไหม ? ขอบคุณมาก.

โพสต์คำตอบ

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