当前位置: 首页 > news >正文

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

前言

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文件夹里了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于微信小程序的微课堂笔记的设计与实现(源码+论文+部署讲解等)
  • C语言--函数
  • 【dijkstra】迪杰斯特拉算法 洛谷 P1828例题代码讲解
  • C++与云计算的融合:构建高效、可扩展的云服务
  • 逻辑推理之lora微调
  • 2024/8/3 英语每日一段
  • 数据结构与算法 - 堆
  • Halcon 模型变化
  • 题解题解题解题解
  • 《古代希腊赛会研究:能揭开古希腊赛会的神秘面纱吗?》
  • 学习编程的第二十天,加油!
  • 【Android】通知的使用
  • 【java基础】徒手写Hello, World!程序
  • 剪画小程序:致敬奥运举重冠军:照片变成动漫风格!
  • Python 爬虫项目实战(二):爬取微博热搜榜
  • 「面试题」如何实现一个圣杯布局?
  • 11111111
  • 5、React组件事件详解
  • create-react-app项目添加less配置
  • gulp 教程
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Meteor的表单提交:Form
  • Node 版本管理
  • React+TypeScript入门
  • 后端_ThinkPHP5
  • 面试总结JavaScript篇
  • 手机端车牌号码键盘的vue组件
  • 写给高年级小学生看的《Bash 指南》
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • ​2020 年大前端技术趋势解读
  • #if等命令的学习
  • #Lua:Lua调用C++生成的DLL库
  • #vue3 实现前端下载excel文件模板功能
  • #Z0458. 树的中心2
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #微信小程序:微信小程序常见的配置传旨
  • (C语言)球球大作战
  • (pojstep1.1.2)2654(直叙式模拟)
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • .net 反编译_.net反编译的相关问题
  • .Net 路由处理厉害了
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET6实现破解Modbus poll点表配置文件
  • @Autowired多个相同类型bean装配问题
  • @Validated和@Valid校验参数区别
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [Angular] 笔记 20:NgContent