热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxlocationroot访问文件夹404_Linux下yum安装PHP7.2+Nginx+Mysql

一.安装NGINX1.先查看是否安装了第三方软件库:yumlistinstalled|grepepel-release或rpm-qepel-release如果已经安装
904bd7fa890539bbbb23cce1d4e424e5.png

一.安装NGINX

1.先查看是否安装了第三方软件库:

yum list installed | grep epel-release

rpm -q epel-release

如果已经安装了则跳过这一步

yum install -y epel-release

2.安装nginx

yum install -y nginx

3.设置自启动以及启动nginx

systemctl enable nginx
systemctl start nginx

4. 查询nginx进程

ps aux|grep nginx

5.浏览器访问「成功」

8500484a99e8d2d608f3be22987c321d.png

备注: nginx配置文件:/etc/nginx nginx根目录:/usr/share/nginx/html 6.修改网站根目录 修改nginx配置

vim /etc/nginx/nginx.conf
server下修改:
root /var/www/html;

为让web应用能读写HTML根目录下的目录和文件,需将其拥有者改为 nginx 用户:

chown -R nginx:nginx html/

重启nginx

nginx -t
systemctl reload nginx

注意:如果其他主机需要访问的话且有iptables防火墙的话,需要开放80和8080端口

vim /etc/sysconfig/iptables
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
下面添加:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT

重启iptables防火墙

systemctl restart iptables


二.安装Mysql

1.安装

yum install -y mysql

2.安装mysql-server

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install -y mysql-community-server mysql-devel

3. 设置自启动以及启动mysql

systemctl restart mysqld
systemctl enable mysqld

4. 修改密码

mysql -uroot -p
set password for 'root'@'localhost' =password('123456');

5.允许远程连接(非必要,而且最好是创建新的用户进行远程连接,不要使用root)

GRANT ALL PRIVILEGES ON . TO 'root'@'%'' IDENTIFIED BY '123456@'' WITH GRANT OPTION;
FLUSH PRIVILEGES;

6.重启mysql

systemctl restart mysqld

注意:如果要远程连接的话且有iptables防火墙的话,需要开放3306端口 vi /etc/sysconfig/iptables 增加一条:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

7. 重启iptables防火墙

systemctl restart iptables


三.安装PHP7.2

1.配置yum源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

2.安装

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-pecl-redis php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-json

3.修改php配置

vim /etc/php.ini:
date.timezone=PRCvim /etc/php-fpm.d/www.conf:
listen = /var/run/php-fpm/php-fpm.sock #本来是127.0.0.1:9000
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx

4.设置自启动以及启动php

systemctl enable php-fpm
systemctl start php-fpm

注意:PHP-FPM 启动之后,会生成 socket 文件 /var/run/php-fpm/php-fpm.sock作为守护进程运行 FastCGI 服务。 5.nginx配置

vim /etc/nginx/nginx.conf
server {listen 80;listen [::]:80 default_server;server_name localhost;root /var/www/html;index index.html index.php index.htminclude /etc/nginx/default.d/*.conf;location / {}location ~ .php$ {fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
}

6.重启nginx

systemctl restart nginx

7.测试

vi /var/www/html/info.php

8.浏览器访问 可能遇到问题1 访问php文件时报错:403 forbidden 查看nginx的error日志,显示

[error] 6830#0: *5 "/var/www/html/index.php" is forbidden (13: Permission denied)

两个可能原因:

  • 权限问题
  • SELinux状态

权限问题解决方式:

chmod -R 777 /var/www
chmod -R 777 /var/www/html

SELinux状态解决方式: 查看当前selinux的状态

/usr/sbin/sestatus

如果是enabled的话需要关闭SELinux vi /etc/selinux/config 将SELINUX=enforcing 修改为 SELINUX=disabled 状态。 重启生效

reboot

可能遇到问题2 访问PHP文件时变成下载 原因: 这是因为nginx没有设置好碰到php文件时,要传递到后方的php解释器 看看你的nginx.conf配置,里面有没有这样的设置:

location ~ .*.php$ {fastcgi_pass 127.0.0.1:9000;
}

上面的意思,就是说,碰到.php结尾的文件,传递给后方127.0.0.1的9000端口上。 当然啦,你的php-fpm解析器也需要正常运行,并监听好9000端口,才能最终生效并有效处理php脚本。



推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
author-avatar
WINGZERO哥哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有