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,表示服务在多用户模式下启动。

2.1.6、赋权刷新重启

2.2. 安装 MySQL 服务

2.2.1、 安装Mysql环境依赖包

yum -y install \

ncurses \

ncurses-devel \

bison \

cmake

2.2.2、 创建运行用户

useradd -M -s /sbin/nologin mysql

2.2.3、编译安装 解压

进入源码目录进行更改

数据库配置过程

查看内存容量,内存够了进行安装

2.2.4、修改mysql 配置文件

vim /etc/my.cnf

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

chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

2.2.6、设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

2.2.7、 初始化数据库

cd /usr/local/mysql/bin/

./mysqld \

--initialize-insecure \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

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

复制系统服务文件,重启服务

2.2.9 修改mysql 的登录密码

mysqladmin -u root -p password "123456"

2.2.10 授权远程登陆

mysql -u root -p

授予root用户可以在所有终端远程登录,使用的密码是123456,并对所有数据库和所有表有操作权限,并进行刷新

数据库完成

2.3、处理动态页面的中间件 PHP

2.3.1、安装依赖环境

2.3. 2、编译安装

cd /opt

tar jxvf php-7.1.10.tar.bz2

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/

2.3. 4、调整PHP配置文件

php有三个配置文件:

php.ini 主配置文件

php-fpm.conf 进程服务配置文件

www.conf 扩展配置文件

将配置文件进行复制,以防止配置错误

更改时区

通信配置文件所在,为了和数据库建立通讯

#验证安装的模块

修改进程服务配置文件

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf

vim php-fpm.conf

调整扩展配置文件

cd /usr/local/php/etc/php-fpm.d/

cp www.conf.default www.conf

2.3.5、 启动PHP,端口号为9000

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini

netstat -anpt | grep 9000

-c 后面表示读取的配置文件位置

2.3.6、配置 Nginx 支持 PHP 解析

2.3.7、验证PHP测试页.

2.3.8、 数据库配置

数据库bbs创建成功

赋权

flush privileges;刷新

替换原来的测试内容进行测试

测试没问题

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/

2.4.2 调整论坛目录的权限

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

论坛创建完成

相关推荐
韩楚风3 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学3 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Pythonliu74 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
我是哈哈hh4 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈4 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -4 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
立秋67895 小时前
Python的defaultdict详解
服务器·windows·python
Lansonli5 小时前
云原生(四十一) | 阿里云ECS服务器介绍
服务器·阿里云·云原生
john_hjy6 小时前
11. 异步编程
运维·服务器·javascript
x晕x6 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器