源码编译安装LNMP

本文介绍了如何手动编译安装LNMP(Nginx、Linux、MySQL、PHP)架构,并详细阐述了每个步骤,包括安装环境依赖、创建运行用户、编译安装Nginx和MySQL、配置PHP解析环境、优化FPM模块以及部署Discuz!社区论坛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、LNMP介绍

2、LNMP架构的部署

2.1 部署思路

2.2 安装 Nginx 服务

1、安装环境依赖包

2、创建运行用户、组

3、编译安装Nginx

4、路径优化

5、检查配置文件

6、启动、停止Nginx

7、检查通过systemctl命令能否正常 启动、停止、重启、重载 Nginx 服务

2.3 安装 MySQL 服务

1、安装Mysql环境依赖包

2、创建运行用户(关键点:千万不要加 -M)

3、编译安装

4、数据库目录进行权限调整

5、调整配置文件

6、设置环境变量

7、初始化数据库

8、数据库开启自启、 关闭、状态

9、设置Mysql密码

10、登录数据库

 2.3 安装配置 PHP 解析环境

1、安装环境依赖包

2、编译安装

 2.4 配置及优化FPM模块

 2.5 让nginx支持PHP功能

 2.6 测试数据库工作是否正常

 2.7 LNMP应用部署


1、LNMP介绍

1、LNMP 指的是一个基于 CentOS/Debian 编写的 Nginx、Linux、MySQL、PHP,可以在独立主 机上轻松的安装 LNMP 生产环境。本案例主要介绍 LNMP 框架安装方法以及部署 Discuz!社 区论坛应用。

2、Nginx 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。Nginx 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP 代理服务器对外进行服务。Nginx 采用 C 语言进行编写,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。Nginx 作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。Nginx 安装非常的简单,配置文件非常简洁(还能够支持 perl 语法)。Nginx 支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。

3、MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前被 Oracle 公司收购。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是较好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL 是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

4、PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器,由于 Nginx 服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 处理。

FastCGI:FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通信的接口(FastCGI接口在Linux下是socket(可以是文件socket,也可以是ip socket)),主要优点是把动态语言和HTTP服务器分离开来。多数流行的HTTP服务器都支持FastCGI,包括Apache、Nginx和lightpd。 FastCGI:作用:把动态语言和HTTP分离开来,动静分离

2、LNMP架构的部署

2.1 部署思路

●安装 Nginx 服务

●安装 MySQL 服务

●安装配置 PHP 解析环境

●部署 Discuz!社区论坛 Web 应用

2.2 安装 Nginx 服务

1、安装环境依赖包

注意关闭防火墙、核心防护

yum -y install gcc gcc-c++ pcre-devel zlib-devel make

2、创建运行用户、组

useradd -M -s /sbin/nologin nginx

3、编译安装Nginx

事先需要先上传nginx-1.15.9.tar.gz软件包至/opt目录

cd /opt
tar xzvf nginx-1.15.9.tar.gz
cd nginx-1.15.9

#configure 一种配置工具

./configure \
--prefix=/usr/local/nginx \             #工作目录(解压到哪个目录)
--user=nginx \                          #管理服务的用户是谁
--group=nginx \                         #管理服务的组是什么
--with-http_stub_status_module          #集成HTTP请求的一些状态统计模块

make && make install                    #进行编译

4、路径优化

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5、检查配置文件

nginx -t

6、启动、停止Nginx

方法一:
#PS:此处是启动方式之一,下面还可以通过配置,利用systemctl来控制,

nginx    #直接进行启动

killall -s HUP nginx      ###选项 -s HUP 等同于 -1  重新加载 systemctl reload nginx
killall -s QUIT nginx     ###选项 -s QUIT 等同于 -3  停止服务 systemctl stop nginx 

方法二: 添加 Nginx 系统服务
#PS当通过kill方式启动Nginx系统服务之后,需要先关闭,再使用systemctl启动。

vim /lib/systemd/system/nginx.service
###要刷配置参数##
[Unit]
Description=nginx          ####描述
After=network.target       ####描述服务类别
[Service]
Type=forking               ###后台运行形式
PIDFile=/usr/local/nginx/logs/nginx.pid    ###PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx      ###启动服务
ExecReload=/usr/bin/kill -s HUP $MAINPID   ###根据PID重载配置
ExecStop=/usr/bin/kill -s QUIT $MAINPID    ###根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service    #给予权限
systemctl enable nginx.service 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值