以前是装的集成环境,没有想到装完Nginx + PHP + MySQL

启动nginx 服务,出现页面:

如果访问120.25.216.6/index.php 就会变成下载

之所以会这样是因为2个原因:

/etc/nginx/nginx.conf 或者 /etc/nginx/conf.d/120.25.216.6.conf 里面要设置,

让nginx fastcgi 监听端口127.0.0.1:9000,把用户请求发送给php.ini处理,所以还要设置 nginx配置+php配置

以下是/etc/nginx/conf.d/120.25.216.6.conf 配置:

server {
listen 80;
server_name 120.25.216.6;
  location ~ \.php?.*$ {
    root /var/www/html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

  

下面是一个非常完整的配置,顺便写上了注释

server {
  listen 80; // 监听80 端口,也可以换成8080,但是要开启安全组端口
  server_name 39.108.82.69; // 这个可以是你的域名或者ip server_name www.conf.com;
  location / {
    root /var/www/html; // 项目的路径,我用的是yum install nginx ,所以默认选/var/www/html 当项目根目录
    index index.php index.html index.htm; // 可以识别的文件 index.php 放在前面,输入域名 39.108.82.69 是可以直接找到 /var/www/html/index.php 的    }
  // 下面这里的是配置让nginx 识别php的核心配置
  location ~ \.php$ {
    root /var/www/html; // 这个地方不配,应该会访问不到
    fastcgi_pass 127.0.0.1:9000; // 这里使用的是9000端口监听,当然可以用sock方式,这里配置只是第一步,还要设置/usr/sbin/php-fpm /etc/php-fpm/www.conf 监听127.0.0.1:9000 看后面介绍
    #fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    #fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
  error_page 404 /404.html;
  location = /404.html {
    root /usr/share/nginx/html;
  }
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/html;
  } }

那么通过搜索

find / -name www.conf 

配置php www.conf

然后 vim /etc/php/7.2/fpm/pool.d/www.conf  

配置如下:

[www]
user = www-data //这里使用的是www-data 如果没有这个用户可以使用命令 useradd www-data
group = www-data // 这里是组 可以使用命令groupadd www-data创建 这里要注意一下 nginx.conf 里面设置了用户组访问,建议改成相同
;## 以什么用户什么组的权限来运行池fpm listen = 127.0.0.1:9000 // 监听端口9000
;listen = /apps/php/var/run/$pool-php-fpm.sock
;## 监听的ip和端口,可以 /path/to/unix/socket 来监听unix socket,性能更好。 listen.backlog = 4096
;## 未accept处理的socket队列大小,-1 on FreeBSD and OpenBSD,其他平台默认65535,高并发时重要,不要用-1,建议1024以上,最好是2的幂值。
;## 一个池共用一个backlog队列,所有的池进程都去这个队列里accept连接。
;## 最大数量受限于系统配置 cat /proc/sys/net/core/somaxconn,
;## 系统配置修改:vim /etc/sysctl.conf,增加 net.core.somaxconn = 2000 则最大为2000,然后php最大的backlog可以到2000。 listen.allowed_clients = 127.0.0.1
;## 设置允许连接fpm的地址,比如nginx就要来连,多个地址用逗号隔开,如果不配置,则默认任意地址都能来连。 ;## 设置php-fpm进程,一般大于8G内存建议用 static 模式,max_children的计算方式,每个php-fpm进程约占 20~30M 的内存,
;## 根据预计给php-fpm的内存计算出合理值,例如预计给php-fpm 预留6G使用内存,那max_children 应设置为 200~300 之间
pm = dynamic
;## 启动时子进程管理方式,可选值:static(启动时创建指定个数), dynamic(启动时根据情况创建,至少有一个),
;## ondemand(启动时不创建子进程,有需求才创建) pm.max_children = 2000
;## 该池同时最多存在n个进程, 三种管理方式都要配置 pm.max_requests = 4
;## 子进程接收n个请求后,自动重启 pm.start_servers = 2
;## fpm启动时创建2个子进程,只适用动态dynamic管理方式 pm.min_spare_servers = 2
;## 服务器闲置时最少保持2个子进程,不够这个数就会创建,只适用动态dynamic管理方式 pm.max_spare_servers = 6
;## 服务器闲置时最多要有几个,多了会kill,只适用动态dynamic管理方式 listen.owner = www // 如果这里权限不足,可能会导致php 无法正常访问
listen.group = www
listen.mode = 0660 // 这个必须要配置,很重要,如果权限不足,则创建权限访问
;##用socket连接方式时,指定拥有unix socket权限的用户,默认和运行的用户一样;用tcp连接可以注释掉 ;pm.status_path = /status
;## FPM 状态页面的网址。如果没有设置,则无法访问状态页面,默认值:无 ping.path = /ping
;## FPM 监控页面的 ping 网址。如果没有设置,则无法访问 ping 页面。该页面用于外部检测 FPM 是否存活并且可以响应请求。
;## 请注意必须以斜线开头(/)。 ping.response = pong
;## 用于定义 ping 请求的返回响应。返回为 HTTP 200 的 text/plain 格式文本。默认值:pong。 request_terminate_timeout = 3600s
;## 单个请求的超时时间,有时候php.ini设置的最大执行时间未生效,这个就会来干掉那个执行太久的请求。 ;request_slowlog_timeout = 10s::;;;

  

最后启动 Nginx + PHP

Nginx 启动方式

systemctl restart nginx.service  || service nginx restart

nginx -t               查看nginx 配置是否报错

nginx -s reload  重启nginx 重新加载配置

php-fpm 启动命令

sudo /usr/sbin/php-fpm // 加权限启动 启动后使用netstat -nltp 可以如果可以查看到9000 代表成功,如果9000端口存在要先 kill -9 端口 再重新启用

/usr/sbin/php-fpm -t   // 检查配置 跟 nginx -t 检查配置一样

service php-fpm restart // 系统启动php-fpm

查看状态

ps -ef |grep nginx    ps -ef |grep php

然后正常访问:

配置php-fpm识别php文件访问的更多相关文章

  1. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  2. net core静态文件 访问除默认目录文件配置

    在我们项目的实际应用中,不光是需要访问默认静态文件夹 wwwroot ,还有可能要要去访问除默认目录以外的文件夹,接下来我们进行配置 1.在根目录创建一个文件夹,继续创建它的子文件夹Images,在I ...

  3. springMVC静态文件访问

        web.xml文件  <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xs ...

  4. NodeJS静态文件访问性能测试

    受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器 ...

  5. atitit.网络文件访问协议.unc smb nfs ftp http的区别

    atitit.网络文件访问协议.unc smb nfs ftp http的区别 1. 网络文件访问协议1 2. NETBios协议  2 3. SMB(Server Message Block)2 3 ...

  6. 简介vsftpd及搭建配置 关闭selinux 不能创建文件

    简介vsftpd及搭建配置一.简介 FTP(文件传输协议)全称是:Very Secure FTP Server. Vsftpd是linux类操作系统上运行的ftp服务器软件. vsftp提供三种登陆方 ...

  7. apache2.2控制目录文件访问设置

    1.apache2.2控制目录文件访问需求 红框可以访问,其他不能访问 2.apache2.2具体正则配置 <locationMatch ^/f/user/Panorama/81/581/(gr ...

  8. HDFS文件访问权限

    HDFS中的文件访问权限 针对文件和目录,HDFS的权限模式与POSIX非常相似一共提供三类权限模式:只读权限(r).写入权限(w)和可执行权限(x).读取文件或列出目录内容时需要只读权限.写入一个文 ...

  9. Windows下Tomcat+nginx配置证书实现登录页https访问

    最近公司出于安全考虑,需要将登录页做成https访问,其他页面仍采用http访问,环境是Linux平台,web服务器采用Tomcat + Nginx.之前没接触过nginx,这两天网上查资料,试了好多 ...

  10. 九、frp对外提供简单的文件访问服务

    通过 static_file 插件可以对外提供一个简单的基于 HTTP 的文件访问服务.类似于http的文件索引! 服务端frps.ini配置[common]bind_addr = 0.0.0.0bi ...

随机推荐

  1. 推送本地镜像到Dokcer Hub仓库

    # 登陆 [root@docker ~]# docker login # 注意:后面不输入网址 Login with your Docker ID to push and pull images fr ...

  2. [基础]VS Code 基础操作 命令符

    一.五种运行方式 1.点击IIS Express运行 实际上它开的是一个IIS Express服务器,就是说有一个小的代理服务器帮咱们运行,运行后就会启动一个IIS Express小型服务器,启动之后 ...

  3. scss的使用方法

    引用scss文件--看上一篇的less使用,里面的Koala,一样的原理!!! 方法一: scss: /**定义变量 */$width:404px;$color:green;$font-size:20 ...

  4. 谣言检测(DUCK)《DUCK: Rumour Detection on Social Media by Modelling User and Comment Propagation Networks》

    论文信息 论文标题:DUCK: Rumour Detection on Social Media by Modelling User and Comment Propagation Networks论 ...

  5. Docker | redis集群部署实战

    前面已经简单熟悉过redis的下载安装使用,今天接着部署redis集群(cluster),简单体会一下redis集群的高可用特性. 环境准备 Redis是C语言开发,安装Redis需要先将Redis的 ...

  6. docker gitlab迁移 备份 部署 搭建以及各种问题

    当前环境 服务器A 服务器B ubuntu docker gitlab(版本一致) docker安装gitlab 由于考虑到gitlab 包含了⾃身的nginx.数据库.端⼝占⽤等等因数,这⾥使⽤的是 ...

  7. 齐博x1细节优化,自定义二、三、四维字段支持自定描述

    如下图所示,之前自定义字估中的二.三.四维字段,不支持自定义描述,导致用户输入的时候,不知道该输入什么信息内容.只有站长自己才知道. 现在支持自定义描述,及设置文本或数字.方便引导用户输入相应的信息内 ...

  8. breakout靶机

    breakout:https://www.vulnhub.com/entry/empire-breakout,751/ 开机显示ip也可以不用扫描 首先使用nmap扫描 去访问网页 使用dirb扫描这 ...

  9. python和C语言从路径中获取文件名

    1.Python import os file_name = os.path.basename(filepath)#带后缀的文件名(不含路径) file_name_NoExtension = os.p ...

  10. cmd复制移动合并文件

    1.单文件复制: (1)把c:\1.txt复制到c:\2\文件夹下 copy c:\1.txt c:\2\ (2)把c:\1.txt复制到c:\1\文件夹下,并把它修改为777.docx copy c ...