php - 权威的 LEMP 堆栈官方 - Ubuntu 14.04

标签 php mysql ubuntu nginx

我已按照此处指示的确切过程进行操作:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04

我在启动本地主机 nginx 堆栈时遇到了很多问题。我已经搜索了很多很多堆栈,但仍然无法弄清楚。虽然我很接近,目前我的网站只是下载 php 文件而不是运行它们。我正在使用 vagrant 和我自己构建的虚拟框。我一直认为这是一个 php5-fpm 问题,但我不知道了。

我需要帮助。

  # You may add here your
# server {
#       ...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
        #listen   80; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6
        listen 80 default_server;
        root /var/www;
        index index.html index.htm index.php;

        # Make site accessible from http://localhost/
        server_name sandbox.dev.com;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                #try_files $uri $uri/ /index.html;
                try_files $uri $uri/ =404;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }

nginx.conf

vagrant@precise64:/etc/nginx$ cat nginx.conf 
user www-data;
worker_processes 4;
pid /var/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;

    ##
    # 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/x-javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # nginx-naxsi config
    ##
    # Uncomment it if you installed nginx-naxsi
    ##

    #include /etc/nginx/naxsi_core.rules;

    ##
    # nginx-passenger config
    ##
    # Uncomment it if you installed nginx-passenger
    ##

    #passenger_root /usr;
    #passenger_ruby /usr/bin/ruby;

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

最佳答案

将以下位置添加到 default/conf 文件中的服务器 block 。之后重启 nginx:

server {

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

有关更多信息,请参阅:Nginx serves .php files as downloads, instead of executing them

关于php - 权威的 LEMP 堆栈官方 - Ubuntu 14.04,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44558104/

相关文章:

php - 如何使用 zend 条形码库在 CodeIgniter-3.0rc2 中生成条形码

sql - 如何将查询结果集与现有表连接起来?

php - CakePHP:如何使用内部联接从两个表中检索数据?

haskell - 如何在没有 Cabal 或 Cabal-Install 的情况下安装包/库?

php - 更改表格的 CCK 标题

php - 亚马逊免费套餐容量和空间

ubuntu - 将查找结果传递给自定义脚本

perl - 在尝试安装 libwww-perl 时构建 Docker 镜像会导致错误,即 perl-modules_5.14.2-6 和 perl_5.14.2-6 Not found

php - iPhone 4 iOS 5用UIViewController创建邮件列表的最佳方法是什么?

mysql - 如何计算 MySQL 结果中的 has-many-through 关系