Centos7 mini 配置 php7+nginx+mysql 最详细过程,为linux小白送福利

发布时间 - 2025-07-23 00:00:00    点击率:

虽然本来不想写这篇文章,但由于最近询问关于这些环境配置的朋友较多,我决定整理一番,以下内容均为本人实战验证过的结果。

解决无法联网问题在新镜像安装后,经常会遇到没有网络,或者在安装虚拟机(桥接)时发现没有自己的IP,或者在使用yum install时出现“could not retrieve mirrorlist”的问题。

没有IP:

yum失败:

解决方法:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

请注意,你的网卡名称可能不同,比如ifcfg-enp5s0f0;将ONBOOT改为yes,然后重启网络。

systemctl restart network

结果:

好了,现在已经可以联网了,接下来我们开始搭建PHP环境。

更换yum源(可选操作)参考 https://www./link/cb1791d9672d69b321c67b55d0aa3db4

开始搭建LNMP之nginx推荐大家使用yum源来安装,方便快捷。但yum源中没有我们想要的nginx版本,所以我们需要增加一个nginx的yum源。新建文件:

vi /etc/yum.repos.d/nginx.repo

复制以下内容:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

然后保存退出,输入yum list nginx查看:

好了,yum源配置成功了,直接使用yum安装即可:

yum install nginx

启动nginx:

systemctl start nginx

添加开机启动项:

systemctl enable nginx

好了,nginx的最新版本已经安装好了,访问一下本机80端口:

开始搭建LNMP之MySQL5.7首先安装mysql的rpm软件包,执行:

rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

安装成功后可以查看可用版本,执行:

yum repolist all | grep mysql

好了,安装MySQL:

yum install mysql-community-server

安装成功!

接下来要注意了!

按照我的顺序操作,首先启动mysql

systemctl start mysqld

接下来获取mysql的默认初始密码,这里是因为mysql在5.7版本增强了安全机制,所以新安装后都会有一个初始密码:

grep 'temporary password' /var/log/mysqld.log

好了,复制这个初始密码登录mysql,并修改root密码:(由于MySQL5.7默认安装了密码安全检查工具,要求密码必须包含大小写字母、数字和特殊符号,并且长度不能少于8位,否则会报错,如下图)

当然,这里不推荐修改密码策略,数据库的密码应该设置得复杂一些,养成良好的习惯。

为了安全考虑,root是不允许远程连接的,于是我们添加一个新用户并授予远程登录权限:

GRANT ALL PRIVILEGES ON *.* TO 'litblc'@'%' IDENTIFIED BY 'Litblc.com.2017' WITH GRANT OPTION;

刷新:

FLUSH PRIVILEGES;

用户名为litblc,密码为Litblc.com.2017的远程用户已经建立好了,运行select host, user from mysql.user可以查看所有用户与授权主机信息:

设置MySQL开机启动:

systemctl enable mysqld
systemctl daemon-reload

最后我们退出mysql来修改一下他的配置文件,使他默认使用utf8编码:

vi /etc/my.cnf

在[mysqld]下添加编码配置

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

最后重启生效:

systemctl restart mysqld

好了,接下来开始安装php7

开始搭建LNMP之php第一步依然是安装php的rpm软件包

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安装php7以及他的一些扩展(扩展可以根据自己需求添加)

yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysqlnd.x86_64 php70w-pdo.x86_64 php72w-xml.x86_64 php70w-devel

安装php-fpm:

yum install php70w-fpm php70w-opcache

启动、开机启动php-fpm:

systemctl start php-fpm
systemctl enable php-fpm

好了,接下来配置nginx,使其解析php,vi /etc/nginx/conf.d/default.conf,应该有如下一段被注释掉的代码,打开并修改为:

    root  /usr/share/nginx/html;
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

重启nginx:systemctl restart nginx

到nginx解析目录创建phpinfo.php:

vi /usr/share/nginx/html/phpinfo.php

保存退出。

接着就是见证奇迹的时刻了,打开我们本地的浏览器,输入http://192.168.9.138/phpinfo.php,是否见到了熟悉的界面呢?我没见到,防火墙拒绝了,那么很好,我们就一步到位,再来配置个防火墙。

开始搭建LNMP之iptables首先关闭SELINUX :

vi /etc/selinux/config

注释如下配置:

SELINUX=enforcing
SELINUXTYPE=targeted

并增加一行:

SELINUX=disabled

保存退出,使配置立即生效:

setenforce 0

关闭firewalld并禁止开机启动:

systemctl stop firewalld
systemctl disable firewalld

接下来安装iptables防火墙:

yum install iptables-services

编辑防火墙配置文件,添加80和3306端口:

vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

保存退出,重新启动防火墙使配置生效,并设为开机启动项:

systemctl restart iptables
systemctl enable iptables

好了,大功告成,访问我们的phpinfo.php:

测试远程数据库连接:

一切正常!至此,配置完成。

composer && nodejs安装composer:

https://getcomposer.org/download/
// 放到全局环境变量里,并添加执行权限
mv composer.phar /usr/local/bin/composer

设置中国全量镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer self-update
composer clear-cache

安装nodejs:

可以去官网 https://www./link/0c9097d0139751fc728f1614cca51b43 查找自己想要安装的版本,这里我以最新的LTS版本6.11.2为例安装。

注意下载的是什么文件,推荐使用编译好的如下方式,楼主自己编译的时候曾经把服务器干挂了,真是人生头一回。

使用wget下载压缩包,若没有wget命令,则需要先安装 yum install wget

wget https://www./link/0c9097d0139751fc728f1614cca51b43v6.11.2/node-v6.11.2-linux-x64.tar.xz

解压:

tar xvJf node-v6.11.2-linux-x64.tar.xz

之后进入到bin目录,将node 和 npm 设为全局执行:

cd  node-v6.11.2-linux-x64/bin
ln -s /usr/node/node-v6.11.2-linux-x64/bin/node  /usr/local/bin/node
ln -s /usr/node/node-v6.11.2-linux-x64/bin/npm  /usr/local/bin/npm

这里 /usr/node/node-v6.11.2-linux-x64这个目录是你自己解压node文件的目录,我的放在/usr/node

好了,执行 node -v 和 npm -v 可以查看到版本号,至此,基本开发环境已经配置完毕。

补充:使用全局淘宝镜像地址,使用cnpm命令代替npm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

全文完


# linux  # mysql  # nodejs  # centos  # composer  # php7  # nginx  # 浏览器  # 工具  # ai  # 解决方法  # php  # npm  # select  # default  # 数据库  # http  # https  # 好了  # 镜像  # 重启  # 可以查看  # 设为  # 软件包  # 配置文件  # 自己的  # 的是  # 启动项 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: MySQL查询结果复制到新表的方法(更新、插入)  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  使用Dockerfile构建java web环境  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  js实现获取鼠标当前的位置  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  linux top下的 minerd 木马清除方法  零基础网站服务器架设实战:轻量应用与域名解析配置指南  深入理解Android中的xmlns:tools属性  如何在云主机上快速搭建多站点网站?  Windows Hello人脸识别突然无法使用  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  JavaScript实现Fly Bird小游戏  实例解析angularjs的filter过滤器  如何用VPS主机快速搭建个人网站?  Android 常见的图片加载框架详细介绍  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel如何创建自定义Facades?(详细步骤)  如何用y主机助手快速搭建网站?  如何快速启动建站代理加盟业务?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  浅析上传头像示例及其注意事项  Laravel Docker环境搭建教程_Laravel Sail使用指南  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  如何获取上海专业网站定制建站电话?  Firefox Developer Edition开发者版本入口  七夕网站制作视频,七夕大促活动怎么报名?  Laravel怎么使用Intervention Image库处理图片上传和缩放  高防服务器租用如何选择配置与防御等级?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  北京企业网站设计制作公司,北京铁路集团官方网站?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  网站建设保证美观性,需要考虑的几点问题!  iOS UIView常见属性方法小结  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】