LNMP安装

目录

1、LNMP简述:

1.1、概述

1.2、LNMP是一个缩写词,及每个字母的含义

1.3、编译安装与yum安装差异

1.4、编译安装的优点

2、通过LNMP创建论坛

[2.1、 安装nginx服务](#2.1、 安装nginx服务)

2.1.1、关闭防火墙

2.1.2、创建运行用户

[2.1.3、 编译安装](#2.1.3、 编译安装)

[2.1.4、 优化路径](#2.1.4、 优化路径)

[2.1.5、 添加 Nginx 系统服务](#2.1.5、 添加 Nginx 系统服务)

2.1.6、赋权刷新重启

[2.2. 安装 MySQL 服务](#2.2. 安装 MySQL 服务)

[2.2.1、 安装Mysql环境依赖包](#2.2.1、 安装Mysql环境依赖包)

[2.2.2、 创建运行用户](#2.2.2、 创建运行用户)

[2.2.3、编译安装 解压](#2.2.3、编译安装 解压)

[2.2.4、修改mysql 配置文件](#2.2.4、修改mysql 配置文件)

2.2.5、更改mysql安装目录和配置文件的属主属组

[​编辑 2.2.6、设置路径环境变量](#编辑 2.2.6、设置路径环境变量)

[2.2.7、 初始化数据库](#2.2.7、 初始化数据库)

[2.2. 8、添加mysqld系统服务](#2.2. 8、添加mysqld系统服务)

[2.2.9 修改mysql 的登录密码](#2.2.9 修改mysql 的登录密码)

[2.2.10 授权远程登陆](#2.2.10 授权远程登陆)

[2.3、处理动态页面的中间件 PHP](#2.3、处理动态页面的中间件 PHP)

2.3.1、安装依赖环境

[2.3. 2、编译安装](#2.3. 2、编译安装)

2.3.3、路径优化

[2.3. 4、调整PHP配置文件](#2.3. 4、调整PHP配置文件)

[2.3.5、 启动PHP,端口号为9000](#2.3.5、 启动PHP,端口号为9000)

[2.3.6、配置 Nginx 支持 PHP 解析](#2.3.6、配置 Nginx 支持 PHP 解析)

2.3.7、验证PHP测试页.

[2.3.8、 数据库配置](#2.3.8、 数据库配置)

[2.4 部署 Discuz!社区论坛 Web 应用](#2.4 部署 Discuz!社区论坛 Web 应用)

2.4.1、解压。复制

[2.4.2 调整论坛目录的权限](#2.4.2 调整论坛目录的权限)

2.4.3、进行论坛访问192.168.41.7/bbs/install/index.php


1、LNMP简述:

1.1、概述

LNMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。

1.2、LNMP是一个缩写词,及每个字母的含义

L: Linux操作系统、

N: nginx网站服务器、前端,提供前端的静态页面服务,同时具有代理和转发的作用

M: MySQL数据库服务器、关系型数据库,主要保存用户的账号和密码

P: PHP(或Perl、Python)动态网页编程语言。负责解释动态网页文件,负责沟通WEB服务器,和nginx以及数据库进行协同工作,PHP的主要作用就是web开发,前端开发

1.3、编译安装与yum安装差异

通过编译安装进行设置

编译安装用二进制进行安装,编译安装可以自由地指定需要的模块,

yum只是安装基础的服务模块,其他模块要想使用用户需要手动重新添加

在企业中nginx、mysql都是编译安装

1.4、编译安装的优点

  1. 具有较大的自由度,功能可定制
  2. 可及时获得最新的软件版本
  3. 普遍适用于大多数Linux版本,便于一直使用

2、通过LNMP创建论坛

2.1、 安装nginx服务

2.1.1、关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

、安装依赖包

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

2.1.2、创建运行用户

useradd -M -s /sbin/nologin nginx

2.1.3、 编译安装

cd /opt

解压tar zxvf nginx-1.22.0.tar.gz -C /opt/

安装

cd nginx-1.22.0/

./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module

安装

程序所在位置

2.1.4、 优化路径

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

2.1.5、 添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service

Unit\]:这个部分定义了服务单元的元数据。 Description: 描述该服务单元的信息,描述为"nginx"。 After: 定义服务单元所依赖的其他单元,这里表示服务需要在网络加载完成之后启动。 \[Service\]:这个部分定义了服务的运行配置。 Type: 指定服务的类型,这里是forking,表示服务是一个后台进程(通常是fork出子进程)。 PIDFile: 指定保存主进程ID的文件路径,Nginx将会把主进程ID写入这个文件,以便Systemd可以追踪和管理进程。 ExecStart: 指定启动服务的命令。这里是启动Nginx的命令/usr/local/nginx/sbin/nginx。 ExecReload: 指定重新加载配置的命令。当执行此命令时,Systemd将发送HUP信号给主进程,Nginx将重新加载配置文件。 ExecStop: 指定停止服务的命令。当执行此命令时,Systemd将发送QUIT信号给主进程,Nginx将优雅地停止服务。 PrivateTmp: 将此项设置为true,表示为服务提供独立的临时目录。 \[Install\]:这个部分定义了服务的安装配置。 WantedBy: 指定服务所属的目标(target),这里是multi-user.target,表示服务在多用户模式下启动。 ![](https://file.jishuzhan.net/article/1687303662881214466/243269bd8bc340a8b36d4a068bbef693.png) #### 2.1.6、赋权刷新重启 ![](https://file.jishuzhan.net/article/1687303662881214466/13fcd3ebb9f8417dae1ed45c9501a1b4.png) ### 2.2. 安装 MySQL 服务 #### 2.2.1、 安装Mysql环境依赖包 yum -y install \\ ncurses \\ ncurses-devel \\ bison \\ cmake ![](https://file.jishuzhan.net/article/1687303662881214466/197edb5978a9426d9f31578f9703c5c8.png) #### 2.2.2、 创建运行用户 useradd -M -s /sbin/nologin mysql #### 2.2.3、编译安装 解压 ![](https://file.jishuzhan.net/article/1687303662881214466/9c9a9ef51987434e88c7fc3a00971bf2.png) 进入源码目录进行更改 数据库配置过程 ![](https://file.jishuzhan.net/article/1687303662881214466/1680ecb8e7e94c2595585a413ca6bec4.png) 查看内存容量,内存够了进行安装 ![](https://file.jishuzhan.net/article/1687303662881214466/b8e8eebd44b5420e85dfb4602cb59841.png) #### 2.2.4、修改mysql 配置文件 vim /etc/my.cnf ![](https://file.jishuzhan.net/article/1687303662881214466/9b1d5769b15640efa4f60fd12958b12e.png) ![](https://file.jishuzhan.net/article/1687303662881214466/bf12ed6126244cbe80e94533f26fb57a.png) ![](https://file.jishuzhan.net/article/1687303662881214466/45826988492b423aa6beb075e9144fa9.png) #### 2.2.5、更改mysql安装目录和配置文件的属主属组 chown -R mysql:mysql /usr/local/mysql/ chown mysql:mysql /etc/my.cnf ![](https://file.jishuzhan.net/article/1687303662881214466/5a78021419d946fcb77e99d6d4f710b5.png) #### ![](https://file.jishuzhan.net/article/1687303662881214466/c5da6fd80dc94c9ab29865aa8b75d2dc.png) 2.2.6、设置路径环境变量 echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' \>\> /etc/profile ![](https://file.jishuzhan.net/article/1687303662881214466/e515829f5c7f412f8b3731110b60d73f.png) #### 2.2.7、 初始化数据库 cd /usr/local/mysql/bin/ ./mysqld \\ --initialize-insecure \\ --user=mysql \\ --basedir=/usr/local/mysql \\ --datadir=/usr/local/mysql/data ![](https://file.jishuzhan.net/article/1687303662881214466/d05190ace6fd4c5cb104860bf94c83c5.png) #### 2.2. 8、添加mysqld系统服务 cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ systemctl daemon-reload systemctl start mysqld.service systemctl enable mysqld 复制系统服务文件,重启服务 ![](https://file.jishuzhan.net/article/1687303662881214466/5d7ba4efc40649dfb3f4b2b18214922e.png) #### 2.2.9 修改mysql 的登录密码 mysqladmin -u root -p password "123456" ![](https://file.jishuzhan.net/article/1687303662881214466/3712efad248a4bb2b0ded08c4f6af206.png) #### 2.2.10 授权远程登陆 mysql -u root -p ![](https://file.jishuzhan.net/article/1687303662881214466/95336879b189418bb3253f90f225d4ed.png) 授予root用户可以在所有终端远程登录,使用的密码是123456,并对所有数据库和所有表有操作权限,并进行刷新 ![](https://file.jishuzhan.net/article/1687303662881214466/3b8aca4fd4384168a9bc4b05f2356755.png) 数据库完成 ### 2.3、处理动态页面的中间件 PHP #### 2.3.1、安装依赖环境 ![](https://file.jishuzhan.net/article/1687303662881214466/8f4557b5cb8c4562a6c7a88747f0122f.png) #### 2.3. 2、编译安装 cd /opt tar jxvf php-7.1.10.tar.bz2 ![](https://file.jishuzhan.net/article/1687303662881214466/1436e41456bd4121894c6fe5064783c5.png) ![](https://file.jishuzhan.net/article/1687303662881214466/01dd757e55464e5cb39f5c2758b8d3dd.png) make -j 4 \&\& make install 安装 编译安装完成后 #### 2.3.3、路径优化 ln -s /usr/local/php/bin/\* /usr/local/bin/ ln -s /usr/local/php/sbin/\* /usr/local/sbin/ ![](https://file.jishuzhan.net/article/1687303662881214466/0545ad243ca64fab938cae5780a34ae4.png) #### 2.3. 4、调整PHP配置文件 php有三个配置文件: php.ini 主配置文件 php-fpm.conf 进程服务配置文件 www.conf 扩展配置文件 将配置文件进行复制,以防止配置错误 ![](https://file.jishuzhan.net/article/1687303662881214466/61f4d9d971f34a999bda8af42abeb91d.png) 更改时区 ![](https://file.jishuzhan.net/article/1687303662881214466/62ddee296cbd4d65b0e1496f9ff67bf7.png) 通信配置文件所在,为了和数据库建立通讯 ![](https://file.jishuzhan.net/article/1687303662881214466/18344692e0f740a3bba551d3f3294856.png) #验证安装的模块 ![](https://file.jishuzhan.net/article/1687303662881214466/a46169513db34753ad3c573e3e8fe4cc.png) 修改进程服务配置文件 cd /usr/local/php/etc/ cp php-fpm.conf.default php-fpm.conf vim php-fpm.conf![](https://file.jishuzhan.net/article/1687303662881214466/ae8cc15d56f54fad8bbfd2a9658e3dac.png) ![](https://file.jishuzhan.net/article/1687303662881214466/30683c53e32a4578a4e15a30e604d99a.png) 调整扩展配置文件 cd /usr/local/php/etc/php-fpm.d/ cp www.conf.default www.conf ![](https://file.jishuzhan.net/article/1687303662881214466/7e9daca3334542b1a292177c562af7e6.png) #### 2.3.5、 启动PHP,端口号为9000 /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini netstat -anpt \| grep 9000 ![](https://file.jishuzhan.net/article/1687303662881214466/ed2b9893e4eb4209bb07eb9f4a1e250e.png) -c 后面表示读取的配置文件位置 ![](https://file.jishuzhan.net/article/1687303662881214466/a7e304a17b5644cdbb0a87a5072e6d1f.png) #### 2.3.6、配置 Nginx 支持 PHP 解析 ![](https://file.jishuzhan.net/article/1687303662881214466/2667a6235555443c96c02c6e608c2957.png) ![](https://file.jishuzhan.net/article/1687303662881214466/3ff96c8ff70f443cbf221ef2bf3bdb0a.png) #### 2.3.7、验证PHP测试页. ![](https://file.jishuzhan.net/article/1687303662881214466/712540bf8c3e45748b5a8e783f475ff8.png) ![](https://file.jishuzhan.net/article/1687303662881214466/289cf9b457ff497f8a4d38ed0902d091.png) ![](https://file.jishuzhan.net/article/1687303662881214466/4c1d5b7961ff4f8fa0b52e0ee3c8a8f3.png) #### 2.3.8、 数据库配置 数据库bbs创建成功 ![](https://file.jishuzhan.net/article/1687303662881214466/649d9c481f1b4b68ad16b0523d88a84e.png) 赋权 ![](https://file.jishuzhan.net/article/1687303662881214466/bdc9a97257d047ab92fb923f8a8e7066.png) flush privileges;刷新 替换原来的测试内容进行测试 ![](https://file.jishuzhan.net/article/1687303662881214466/72a8ff21324d4850915cc964c1cd3aa2.png) ![](https://file.jishuzhan.net/article/1687303662881214466/7487452309314a0390bb3e63c2c6960f.png) 测试没问题 ![](https://file.jishuzhan.net/article/1687303662881214466/ef688ee639dd47eea5fdd3fbc96ca476.png) ### 2.4 部署 Discuz!社区论坛 Web 应用 #### 2.4.1、解压。复制 cd /opt unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis cd /opt/dis/dir_SC_UTF8/ cp -r upload/ /usr/local/nginx/html/bbs/ ![](https://file.jishuzhan.net/article/1687303662881214466/93cf106f741b4e3e9fcd2ec0c1c2f00a.png) ![](https://file.jishuzhan.net/article/1687303662881214466/06a51ff044b4489ea9d77a517ca6d6d5.png) ![](https://file.jishuzhan.net/article/1687303662881214466/32ff9432141441f99430a022ad62db5a.png) #### 2.4.2 调整论坛目录的权限 ![](https://file.jishuzhan.net/article/1687303662881214466/7173af796dcc4aea9b28a4cd1dc6a3f1.png) #### 2.4.3、进行论坛访问192.168.41.7/bbs/install/index.php ![](https://file.jishuzhan.net/article/1687303662881214466/e87e843695114270b5b00405143e2552.png) ![](https://file.jishuzhan.net/article/1687303662881214466/a5bb30eb256d45c7bcb5efb3402e7692.png) ![](https://file.jishuzhan.net/article/1687303662881214466/19ecfa83f617408990393caf90377996.png) 论坛创建完成

相关推荐
榆榆欸1 小时前
14.主从Reactor+线程池模式,Connection对象引用计数的深入分析
linux·服务器·网络·c++·tcp/ip
SDL大华1 小时前
【备忘】在Docker中安装宝塔面板,实现环境隔离,又能快速迁移服务器环境
服务器·docker·容器
不想学习!!2 小时前
linux之进程控制
java·linux·服务器
緣起緣落3 小时前
Linux(CentOS 7) 部署 redis 集群
linux·运维·服务器·redis·centos·集成学习
无名之逆3 小时前
[特殊字符] Hyperlane 框架:高性能、灵活、易用的 Rust 微服务解决方案
运维·服务器·开发语言·数据库·后端·微服务·rust
无名之逆5 小时前
探索轻量高性能的 Rust HTTP 服务器框架 —— Hyperlane
服务器·开发语言·windows·后端·http·rust
zyx没烦恼5 小时前
Linux 进程信号
linux·运维·服务器·开发语言·c++
佬乔5 小时前
xml中配置AOP织入
java·服务器·前端
Hoxy.R5 小时前
什么是 CSSD?
服务器·开发语言·oracle
Arbori_262155 小时前
linux paste 命令
linux·运维·服务器