macos - mac 配置的PHP Nginx 环境 访问php文件出现下载而不是执行php文件
程序员文章站
2022-05-10 23:24:05
...
vim /usr/local/etc/nginx/sites-available/default
server {
listen 80;
server_name localhost;
root /var/www/;
access_log /usr/local/var/logs/nginx/default.access.log main;
location / {
index index.html index.htm index.php;
autoindex on;
include /usr/local/etc/nginx/conf.d/php-fpm;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
/usr/local/etc/nginx/nginx.conf
worker_processes 1;
error_log /usr/local/var/logs/nginx/error.log debug;
pid /usr/local/var/run/nginx.pid;
events {
worker_connections 256;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/var/logs/access.log main;
sendfile on;
keepalive_timeout 65;
port_in_redirect off;
include /usr/local/etc/nginx/sites-enabled/*;
}
/usr/local/etc/nginx/sites-available/default 这个文件配置的是80端口,为啥80端口不能访问, 但是8080 可以访问
80 端口访问都是出现404 错误找不到
回复内容:
vim /usr/local/etc/nginx/sites-available/default
server {
listen 80;
server_name localhost;
root /var/www/;
access_log /usr/local/var/logs/nginx/default.access.log main;
location / {
index index.html index.htm index.php;
autoindex on;
include /usr/local/etc/nginx/conf.d/php-fpm;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
/usr/local/etc/nginx/nginx.conf
worker_processes 1;
error_log /usr/local/var/logs/nginx/error.log debug;
pid /usr/local/var/run/nginx.pid;
events {
worker_connections 256;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/var/logs/access.log main;
sendfile on;
keepalive_timeout 65;
port_in_redirect off;
include /usr/local/etc/nginx/sites-enabled/*;
}
/usr/local/etc/nginx/sites-available/default 这个文件配置的是80端口,为啥80端口不能访问, 但是8080 可以访问
80 端口访问都是出现404 错误找不到
首先你需要一个 php-fpm 来跑 php,然后还要把它配置到正确的位置
参考我的 conf:
server {
listen 80;
server_name xxxxxx;
index index.php;
root /usr/www/web-sites/xxxxxx;
error_log /var/log/nginx/xxxxxx.xxx.error.log;
access_log /var/log/nginx/xxxxxx.xxx.access.log;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ ^/.+\.php(/|$) {
fastcgi_pass php_fpm:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
expires 1d;
}
}
有问题可以搜索关键字:nginx 连接 php-fpm
我提供的这种是 http 方式,你可以换用效率更高的 socket 方式,关键字:socket nginx php-fpm
404错误你可以看看error.log日志
你有没有发现php-fpm和nginx没有结合?