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

news2025/1/10 1:23:37

前言

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

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

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.coloradmin.cn/o/1960142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

昇思25天学习打卡营第23天|基于MindSpore的红酒分类实验案例:从数据准备到模型预测

目录 MindSpore 版本配置与红酒数据集下载 葡萄酒数据读取、处理与可视化分析 基于 KNN 算法的样本分类模型构建与预测函数定义 基于 KNN 模型的测试集预测与准确率计算 MindSpore 版本配置与红酒数据集下载 首先使用 %%capture captured_output 捕获后续代码的输出。然后&a…

【Django5】内置Admin系统

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理(Cookies&Session) 第八章 文件上传…

python中,jsonpath提取数据的时候出现TypeError: ‘bool‘ object is not subscriptable怎么解决

json格式如下: { success: True, result: { codeInfo: { code: 0, msg: 成功 }, uploadToken: { resId: rzJRpo, endpoint: https://sit-api-ypsx-resource.ypsx-internal.com/r…

知识分享|temu跨境选品师盈利一般要多久?

在成为一名跨境选品师,特别是在TEMU(The Easy Market University)平台上,盈利的速度取决于多种因素,包括个人技能、市场选择、产品定位和运营策略等。这些因素共同决定了一个选品师从初始阶段到稳定盈利的时间轨迹。 首先,对于新手…

vue3组件通信(一)

组件通信 一.props(父<>子)二.自定义事件&#xff08;子>父&#xff09;三.mitt(实现任意组件通信)四.v-model(父<>子)(1).v-model的本质(2).组件标签中v-model的本质(3).$event到底是什么 概况 一.props(父<>子) 使用频率最高 若 父传子&#xff1a;属性…

Redis结合Lua脚本的简单使用

我们就拿购物车举例子 现在有5个东西免费送&#xff0c;我们只能选择1个 例如 可乐 美年达 香蕉 苹果 薯片 我们选择后就放进redis里面 然后我们不能选重复&#xff0c;只能选不同 Lua脚本 我们redis使用lua脚本的时候&#xff0c;会传两个参数进去 一个是List<Strin…

(新)VMware虚拟机安装Linux教程(超详细)

创作不易&#xff0c;禁止转载抄袭&#xff01;&#xff01;&#xff01;违者必究&#xff01;&#xff01;&#xff01; 创作不易&#xff0c;禁止转载抄袭&#xff01;&#xff01;&#xff01;违者必究&#xff01;&#xff01;&#xff01; 创作不易&#xff0c;禁止转载抄…

PMP相关考点整理

PMP知识点整理 一、预测型4. 项目整合管理启动:4.1 制定项目章程规划:4.2 制定项目管理计划执行:4.3 指导与管理项目工作4.4 管理项目知识监控4.5监控项目工作4.6 实施整体变更控制【都是重点】收尾4.7 结束项目或阶段5. 项目范围管理启动:/规划:/5.1 规划范围管理5.2 收集…

36.【C语言】函数栈帧的创建和销毁

本文将解决以下问题 局部变量是怎么创建的&#xff1f; 为什么局部变量的值是随机值&#xff1f; 函数是怎么传参的&#xff1f;传参的顺序是怎样的&#xff1f; 形参和实参是什么关系&#xff1f; 函数调用是怎么做的&#xff1f; 函数调用是结束后怎么返回的&#xff1f; 本文…

电脑部分数据丢失?别担心,这里有恢复指南!

在数字化时代&#xff0c;电脑已成为我们日常生活中不可或缺的设备&#xff0c;存储着大量重要的工作文档、个人照片、视频回忆以及各类学习资料。然而&#xff0c;无论是由于误操作、系统故障、病毒攻击还是硬件损坏&#xff0c;电脑数据丢失的情况时有发生&#xff0c;令人焦…

JAVA(IO流-字节流)day 7.29

ok家人们今天继续学习IO流&#xff0c; 一.字节流 存储时&#xff0c;都是使用二进制来保存。 2.1 字节输出流OutputStream OutputStream是字节输出流的超类&#xff08;父类&#xff09;, 方法 public abstract void write(int b)&#xff1a; 一次写一个字节数据。pub…

如何实现无公网IP远程访问本地内网部署的Proxmox VE虚拟机平台

文章目录 1. 局域网访问PVE2. 安装Cpolar 工具3. 创建PVE公网地址4. 远程访问PVE5. 设置固定域名6. 固定地址访问 Proxmox VE是一个完全开源的平台&#xff0c;基于Debian Linux&#xff0c;用于运行虚拟机和容器。为了提供最大的灵活性&#xff0c;它支持两种虚拟化技术&#…

超简单!证件照换底色一分钟速成技巧

证件照的底色一般情况下分为&#xff1a;蓝色、红色、白色 证件照的尺寸也分为&#xff1a;一寸、两寸、大一寸、小二寸等 不同的文件或需求场景下对于证件照的底色和尺寸都有不同的要求&#xff0c;想要更方便的变更证件照可以先保存一版电子版&#xff0c;然后每次在初始版…

C++使用Boost库对时间的操作

0x00、获取当前时间&#xff0c;时间格式为yyyy-MM-dd hh:mm:ss.zzz std::string GetCurrentTime() {// 使用本地时间boost::posix_time::ptime now boost::posix_time::microsec_clock::local_time();// 获取毫秒部分boost::posix_time::time_duration td now.time_of_day(…

【数据结构】——双链表的实现(赋源码)

双链表的概念和结构 双链表的全称叫做&#xff1a;带头双向循环链表 它的结构示意图如下 注意&#xff1a;这⾥的“带头”跟前⾯我们说的单链表的“头结点”是两个概念&#xff0c;实际前⾯的在单链表阶段称呼不严谨&#xff0c;但是为了读者们更好的理解就直接称为单链表的头…

学习008-02-04-09 Assign a Standard Image(分配标准图像)

Assign a Standard Image&#xff08;分配标准图像&#xff09; This lesson explains how to associate an entity class with a standard image from the DevExpress.Images assembly. This image illustrates the entity class in the following sections of the UI: 本课介…

C# Unity 面向对象补全计划 之 访问修饰符

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列旨在通过补全学习之后&#xff0c;给出任意类图都能实现并做到逻辑上严丝合缝

LabVIEW安装DSC模块 转自三景页593

打开NI Package Manager&#xff0c;找到LabVIEW and Drivers 找到自己需要的版本进行下载 搜索需要的模块进行下载 以DSC模块为例&#xff0c;下载右边的安装即可 最后用激活工具激活即可使用

【AI大模型】:结合wxauto实现智能微信聊天机器人

文章目录 &#x1f9d0;一、wxauto简介&#x1f3af;二、wxauto的主要功能&#x1f4e6;三、wxauto的安装与使用1. wxauto的安装2. wxauto的简单使用3. wxauto的消息对象 &#x1f4bb;四、wxauto结合大模型实现简单的聊天机器人三、完整代码 &#x1f9d0;一、wxauto简介 wxa…

(day28)leecode——有效括号

描述 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()","()(())","…