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实现【技巧】

