Không thể có nginx để chạy php trên máy chủ Ubuntu 16.04


8

Biên tập.
Câu hỏi đã có câu trả lời tại đây: /server/889334/cant-get-nginx-to-run-php-on-ub Ubuntu-16-04- server

Tôi đang thiết lập một máy chủ chạy nginx và tôi đang cố gắng để nó chạy các tập lệnh php.

Rõ ràng bài viết lớn nhất về cách để nginx chạy php là bài này: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in- ubfox-16-04

Các cuộc thảo luận sau đây kết thúc về nó khi các hướng khác đã già.
Cách dễ nhất để kích hoạt PHP trên nginx là gì?

Tôi đi theo hướng dẫn trên trang web đại dương kỹ thuật số nhưng không có gì thay đổi, tôi vẫn không thể chạy php.

Tôi khá lạc lõng với điều này và bất kỳ sự giúp đỡ nào cũng sẽ được đánh giá cao.

Đây là đầu ra của sudo service nginx status:

nginx.service - A high performance web server and a reverse proxy server     
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2017-12-17 13:46:33 GMT; 55min ago
Process: 19056 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 19091 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)    
Process: 19064 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 19059 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 19066 (nginx)
Tasks: 2
Memory: 4.6M

CPU: 406ms
CGroup: /system.slice/nginx.service
       ├─19066 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
       └─19094 nginx: worker process                           

Dec 17 13:46:33 websites systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 17 13:46:33 websites systemd[1]: Started A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloading A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloaded A high performance web server and a reverse proxy server.

Đây là đầu ra của php -v:

PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by      Zend Technologies

Và đây là tập tin cấu hình mà tôi đang sử dụng.

Nó tại /etc/nginx/conf.d/virtual_servers.conf.

server {
    listen 80; 
    server_name openage.org www.openage.org;
    #listen [::]:80 default_server ipv6only=on;

    #root /usr/share/nginx/html;
    root /etc/nginx/html/openage;
    index index.php index.html index.htm;

    #server_name localhost;

    location / { 
        try_files $uri $uri/ =404;
    }   

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }   

    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }   

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/openage.org/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/openage.org/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

Tôi đã:

  • khởi động lại php-fpm.
  • khởi động lại nginx.
  • buộc tải lại bộ đệm của trình duyệt bằng ctrl-f5.
  • đã kiểm tra / var / log / error để tìm lỗi nhưng rõ ràng không có lỗi khi tôi chạy tệp php. Có vẻ như nginx chỉ không nhận ra rằng nó được cho là chạy php thay vì chỉ coi nó như một tệp thông thường.

Tôi đang cố chạy một đoạn script chỉ chứa hàm phpinfo(). Nhưng thay vì cung cấp cho tôi thông tin php, trình duyệt chỉ cung cấp cho tôi để tải xuống tệp. /:


cho chúng tôi thấy kết quả của: sudo service nginx statusphp -v
MehrdadEP

tôi đã thêm nó vào câu hỏi
Hermann Ingjaldsson

1
Bạn đã cấu hình php như thế nào? Gửi các chỉnh sửa cấu hình của bạn lên php và nginx. khởi động lại php-fpm và nginx, xóa bộ nhớ cache của trình duyệt, xem trong nhật ký nginx của bạn để biết lỗi, tập lệnh php nào ????? Chúng tôi cần thêm thông tin.
Panther

thông báo lỗi của bạn là gì?
George Udosen

@HermannIngjaldsson tình trạng nginx của bạn có vẻ ổn, lỗi chính xác là gì?
MehrdadEP

Câu trả lời:


2

Mở terminalvà chạy lệnh sau:

gksu gedit /etc/nginx/sites-available/default

Điều này sẽ mở nginxtập tin cấu hình của bạn . chỉnh sửa nó với văn bản sau:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php7-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Sau khi lưu tệp, chạy lệnh sau để khởi động lại nginx:

sudo service nginx restart

Tôi đặt văn bản này vào tập tin cấu hình, khởi động lại nginx và vấn đề vẫn còn. /:
Hermann Ingjaldsson

kiểm tra vị trí này để xem phiên bản tệp của bạn và chỉnh sửa tệp trong nginx conf:/var/run/php7-fpm.sock
MehrdadEP 17/12/17

bạn đã đặt tập tin kiểm tra php vào thư mục này chưa? /usr/share/nginx/html
MehrdadEP

Không có /var/run/php7-fpm.sock nhưng có /var/run/php/php7.0-fpm.sock. Đó là một ổ cắm và tôi không chắc làm thế nào để xem nội dung của nó. Tôi không hoàn toàn hiểu những gì bạn đang yêu cầu thực sự.
Hermann Ingjaldsson

Có một nginx chào mừng html trong / usr / share / nginx / html có.
Hermann Ingjaldsson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.