[Linux安全运维] Nginx安装部署以及LNMP框架搭建保姆级教程

ops/2024/9/23 20:26:17/

前言

LNMP:Linux 系统下 Nginx+MySQL+PHP 网站服务器架构。因为四种软件均是免费开源网站,所有这是一个免费、高效的网站服务系统。

本章主要介绍的是Nginx相关的环境部署,以及LNMP框架的搭建,Nginx知识点介绍在文章:[Linux安全运维] Nginx 相关知识介绍。

目录

    • 前言
    • 1. LNMP概述
      • 1 .1构成
      • 1 .2 LNMP优势
    • 2. Nginx 部署
      • 2 .1 开发环境
      • 2 .2 创建用户
      • 2 .3 安装Nginx
      • 2 .4 Nginx相关文件
    • 3. Nginx管理操作
    • 4. MySQL安装部署
      • 4 .1 安装MySQL服务
      • 4 .2 MySQL相关配置
    • 5. PHP部署
      • 5 .1 安装PHP服务
      • 5 .2 安装php-fpm
    • 6. 添加主页

1. LNMP概述

LNMP框架:
在这里插入图片描述

1 .1构成

  1. Linux:

    • 简介: Linux 是一种开源的操作系统,以其稳定性和安全性而著称。在 LNMP 堆栈中,它作为服务器操作系统运行。
    • 作用: 为应用程序提供一个稳定、安全的运行环境。
  2. Nginx:

    • 简介: Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,提供了 IMAP/POP3/SMTP 服务,其占有内存少,并且有很强的并发能力。
    • 作用: 处理来自客户端(如浏览器)的 HTTP 请求,并将页面内容发送回客户端。
  3. MySQL:

    • 简介: MySQL 是一个开源关系型数据库管理系统,用于存储网站的数据。
    • 作用: 管理网站的数据,包括用户信息、内容和其他重要数据。
  4. PHP:

    • 简介: PHP 是一种服务器端脚本语言,用于生成动态网页内容。
    • 作用: 处理业务逻辑,与数据库交互,并生成 HTML 页面发送给客户端。

1 .2 LNMP优势

  • 开源软件: 所有组件都是免费的开源软件,降低了开发成本。
  • 社区支持: 拥有庞大的用户社区,可以找到丰富的资源和支持。
  • 资源占用少:Nginx占用的内存很少,具有很低的系统资源损耗。
  • 高并发:Nginx具有高并发能力,一台物理服务器可处理30000-50000个请求。

2. Nginx 部署

2 .1 开发环境

在编译的时候,我们需要使用到两个组件,pcre-develzlib-devel,这里我们使用yum源进行安装。

yum install pcre-devel zlib-devel -y

在这里插入图片描述

2 .2 创建用户

使用Nginx服务需要为其创建专用的用户,以便更准确的控制其访问权限。

# 创建用户 -u:uid  -M:不创建家目录 -s:指定bash
useradd -u 521 -M -s /sbin/nologin nginx
# 查看用户
id nginx

2 .3 安装Nginx

使用压缩包进行解压安装,压缩包为nginx-1.6.0.tar.gz,将其解压到当前目录。

tar xf Desktop/nginx-1.6.0.tar.gz

编译安装:

cd nginx-1.6.0/
./configure --prefix=/user/local/nginx_1.6.0 --user=nginx --group=nginx
make
make install

2 .4 Nginx相关文件

转到Nginx目录:

cd /user/local/nginx_1.6.0/
[root@localhost nginx_1.6.0]# ll
total 0
# 配置文件目录
drwxr-xr-x 2 root root 333 Jul 30 10:18 conf
# Web根目录
drwxr-xr-x 2 root root  40 Jul 30 10:18 html
# 日志目录
drwxr-xr-x 2 root root   6 Jul 30 10:18 logs、
# 命令
drwxr-xr-x 2 root root  19 Jul 30 10:18 sbin

3. Nginx管理操作

# 启动Nginx
/usr/local/nginx_1.6.0/sbin/nginx
# 关闭Nginx
/usr/local/nginx_1.6.0/sbin/nginx -s stop
# 重启Nginx
/user/local/nginx_1.6.0/sbin/nginx -t
# 查看配置信息
/usr/local/nginx_1.6.0/sbin/nginx -V

启动Nginx,我们就可以本机访问127.0.0.1:80,可以看到Nginx安装完成的首页

在这里插入图片描述

4. MySQL安装部署

4 .1 安装MySQL服务

使用yum安装MySQL相关服务:

yum install mariadb mariadb-server mariadb-libs mariadb-devel -y

启动MySQL服务相关:

# 启动数据库服务
systemctl start mariadb.service
# 设置数据库开机自启动
systemctl enable mariadb.service
# 查看服务状态
systemctl status mariadb.service

4 .2 MySQL相关配置

MySQL相关安全配置可以查看文章:[Linux安全运维] MySQL 数据库安全配置

5. PHP部署

​ Nginx本身不会对PHP文件进行解析,不具备将PHP作为自身模块的功能。Nginx负责找到文件,PHP负责处理文件。所以要求PHP开启一个进程,来监听请求,处理PHP脚本,这个进程就是FastCGI

5 .1 安装PHP服务

安装php及其相关组件。

yum install php php-mysql php-mbstring -y

查看php版本:

php -v

在这里插入图片描述

5 .2 安装php-fpm

php-fpm:php使用php-fpm对FastCGI进行实现与管理,php-fpm作为动态解析PHP的服务器,php-fpm处理后的结果交给Nginx。

安装php-fpm:使用yum源进行安装。

yum install php-fpm -y

启动服务:

systemctl start php-fpm
# 查看端口状态
netstat -anptl | grep "9000"

在这里插入图片描述

6. 添加主页

想要在Nginx中添加一个index.php作为首页,需要修改Nginx的配置文件usr/local/nginx_1.6.0/conf,添加一个index.php,并开启php解析。

vim usr/local/nginx_1.6.0/conf/nginx.conf

​ index.php:
在这里插入图片描述

开启php解析:
在这里插入图片描述

重启Nginx:

/user/local/nginx_1.6.0/sbin/nginx -t

在这里插入图片描述

接着就可以把网站加到html文件夹里了。


http://www.ppmy.cn/ops/87662.html

相关文章

关于Unity四种合批技术详解

文章目录 一.静态合批(StaticBatching)1.启用静态合批2.举例说明3.静态合批的限制4.静态合批的优点缺点5.动态指定物品合批 二.动态合批(Dynamic Batching)1.启用动态合批2.合批规则3.举例说明4.使用限制 三.GPU Instancing1.启用GPU Instancing2.启用限制3.举例说明 四.SRP Ba…

C#实现数据采集系统-Mqtt实现采集数据转发

在数据采集系统中,通过ModbusTcp采集到数据之后,再通过MQTT转发到其他应用 MQTT操作 安装MQTT mqtt介绍和环境安装 使用MQTT 在C#/Net中使用Mqtt MQTT类封装 MQTT配置类 public class MqttConfig{public string Ip {get; set;

<设计模式> 工厂模式

工厂模式 模式介绍:将对象的创建过程封装在工厂类中,客户端代码只需要关心从工厂获取对象的过程,而不需要了解对象的创建细节。这样做的好处包括提高了代码的灵活性和可扩展性,降低了对象之间的耦合度。主要解决接口选择的问题。…

【Linux网络编程】套接字Socket(UDP)

网络编程基础概念: ip地址和端口号 ip地址是网络协议地址(4字节32位,形式:xxx.xxx.xxx.xxx xxx在范围[0, 255]内),是IP协议提供的一种统一的地址格式,每台主机的ip地址不同,一个…

Redux

Redux的使用 和Vuex作用相同,但比Vuex学习成本高不可变值,纯函数面试常考 基本概念 store stateactionreducer 单向数据流 dispatch(action)reducer > newStatesubscribe 触发通知 react-redux import React from react import { Provider } f…

科普文:万字梳理高性能 Kafka快的8个原因

概叙 科普文:万字详解Kafka基本原理和应用-CSDN博客 科普文:万字梳理31个Kafka问题-CSDN博客 我们都知道 Kafka 是基于磁盘进行存储的,但 Kafka 官方又称其具有高性能、高吞吐、低延时的特点,其吞吐量动辄几十上百万。 在座的…

JavaScript之深入对象,详细讲讲构造函数与常见内置构造函数

前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家详细讲讲构造函数与常见内置构造函数,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家,欢迎…

HTML入门(详细)

目录 前言 HTML是什么 HTML结构 认识HTML标签 HTML文件的基本结构 标签的层次结构 父子关系 兄弟关系 快速生成代码框架 HTML常见标签 注释标签 标题标签 h1-h6 段落标签 换行标签 格式化标签 图片标签 img 超链接标签 a 外部链接 内部链接 空链接 下载…