Centos7编译安装LNMP架构
LNMP架构介绍
- LNMP:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
- 原理:浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx.服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。

前置准备~
以下所有操作在Root用户上操作,请切换到root用户**
su -
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core) #Centos版本为7.9
准备:php-7.2.2.tar.gz nginx-1.22.1.tar.gz mysql-boost-5.7.40.tar.gz 文章后面会给出下载wget地址
切换下载源,如果不需要请跳过
yum -y install wget yum-utils epel-release #下载必要工具
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
#备份原有的源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#下载新源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#下载新源
yum clean all && yum makecache
#清除原缓存,添加新缓存,提高下载速度。过程可能有点慢,请耐心等待。
#安装必要插件和工具
yum -y install gcc gcc-devel make net-tools screen lrzsz dos2unix lsof tcpdump bash-completion ntp psmisc traceroute epel-release bash-completion bash-completion-extras bash-completion setuptool ntsysvsystem-config-securitylevel-tui NetworkManager-tui authconfig-gtk system-config-keyboard bind-utils tree htop wget vim pcre pcre-devel openssl openssl-devel libicu-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel sqlite-devel expat-devel perl expat-devel
vim /etc/yum.conf #因为默认更新会更新内核,在工作环境中是非常危险的行为,所以禁止内核更新
在 /etc/yum.conf 的 [main] 后面添加以下配置
exclude=kernel*
exclude=centos-release*
yum -y update
关闭防火墙和seLinux #开启防火墙会阻止服务的端口,所以我们关闭他
systemctl status firewalld #查看防火墙状态,默认开启
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁止开机自启
vim /etc/selinux/config #找到 SELINUX= 将其修改为 disabled 保存退出
下载好各个软件
我是在家目录下载
#下载nginx
wget https://nginx.org/download/nginx-1.22.1.tar.gz
#下载mysql
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.40.tar.gz
#下载php
wget https://www.php.net/distributions/php-7.2.2.tar.gz
#如果下载慢就在本地电脑上下载,然后用ftp传过去。
一、Nginx编译安装
1.1 安装Nginx环境依赖包
(环境依赖已经在上面安装了,这里跳过)
1.2 创建运行用户、组
Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账户,以更精确的控制访问权限,增加灵活性、降低安全风险。
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
# -M 不要自动建立用户的登入目录
-s为不创建家目录
/sbin/nologin 中的nologin表示禁止该用户登录
1.3 编译安装Nginx
tar -zxvf nginx-1.22.1.tar.gz #解压ngnix

本文详细介绍了在Centos7系统中如何编译安装LNMP(Nginx, MySQL, PHP)架构。从LNMP的介绍开始,逐步讲解了Nginx的环境依赖、用户创建、编译安装、配置优化以及启动服务,接着转向MySQL的安装,包括环境依赖、用户创建、编译、初始化数据库和设置密码。最后,文章详述了PHP的编译过程,配置PHP-FPM,以及如何让Nginx支持PHP功能。整个过程旨在帮助读者掌握在Linux环境中手动搭建LNMP架构的方法。"
46508001,1383708,理解Spark的RDD:特性与操作详解,"['大数据开发', 'Spark框架', '分布式计算']
最低0.47元/天 解锁文章
228

被折叠的 条评论
为什么被折叠?



