LNMP安装

目录

1、LNMP简述:

1.1、概述

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

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

1.4、编译安装的优点

2、通过LNMP创建论坛

2.1、 安装nginx服务

2.1.1、关闭防火墙

2.1.2、创建运行用户

2.1.3、 编译安装

2.1.4、 优化路径

2.1.5、 添加 Nginx 系统服务

 2.1.6、赋权刷新重启

2.2. 安装 MySQL 服务

2.2.1、 安装Mysql环境依赖包

2.2.2、 创建运行用户

2.2.3、编译安装  解压

 2.2.4、修改mysql 配置文件

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

​编辑 2.2.6、设置路径环境变量

2.2.7、 初始化数据库

2.2. 8、添加mysqld系统服务

2.2.9 修改mysql 的登录密码

2.2.10 授权远程登陆

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

2.3.1、安装依赖环境

2.3. 2、编译安装

2.3.3、路径优化

2.3. 4、调整PHP配置文件

2.3.5、 启动PHP,端口号为9000

2.3.6、配置 Nginx 支持 PHP 解析

 2.3.7、验证PHP测试页.

2.3.8、 数据库配置

2.4 部署 Discuz!社区论坛 Web 应用

2.4.1、解压。复制

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

 

 

 论坛创建完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/24238.shtml

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

相关文章

Portraiture 4.0.3 for windows/Mac简体中文版(ps人像磨皮滤镜插件)

Imagenomic Portraiture系列插件作为PS磨皮美白必备插件,可以说是最强,今天它更新到了4.0.3版本。但是全网都没有汉化包,经过几个日夜汉化,终于汉化完成可能是全网首个Portraiture 4的汉化包,请大家体验,有…

展示Streamlit文本魔力(六):从头顶到脚尖

文章目录 1 前言✨2 st.markdown - 引入丰富的Markdown文本3 st.title - 引入引人注目的大标题4 st.header - 引入简洁的小标题5 st.subheader - 添加次级标题6 st.caption - 添加解释性文字7 st.code - 显示代码块8 st.text - 显示文本9 st.latex - 显示LaTeX公式10 st.divide…

【JAVA】 javaSE中的数组|数组的概念使用

数组的概念 什么是Java中的数组 数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。在java中,包含6个整形类型元素的数组,可以看做是酒店中连续的6个房间. 1. 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3…

2023年第四届“华数杯”数学建模思路 - 案例:粒子群算法

# 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法? 粒子群算法(Particle Swarm Optimization,PSO)是一种模仿鸟群、鱼群觅食行为发展起来的一种进化算…

Maven-搭建私有仓库

使用NEXUS REPOSITORY MANAGER 3在Windows上搭建私有仓库。 NEXUS REPOSITORY MANAGER 3 是一个仓库管理系统。 下载NEXUS3 官网上是无法下载的,所以网上搜nexus-3.18.1-01-win64就能搜到,下载即可。 安装NEXUS3 下载nexus-3.18.0-01-win64.zip至相应目录下(路径不要有中文)。 …

【零基础学Rust | 基础系列 | 函数,语句和表达式】函数的定义,使用和特性

文章标题 简介一,函数1,函数的定义2,函数的调用3,函数的参数4,函数的返回值 二,语句和表达式1,语句2,表达式 总结: 简介 在Rust编程中,函数,语句…

c++--二叉树应用

1.根据二叉树创建字符串 力扣 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符…

vscode中无法使用git解决方案

1 首先查看git安装目录 where git 2 找到bash.exe 的路径 比如:C:/Users/Wangzd/AppData/Local/Programs/Git/bin/bash 3 找到vscode的配置项setting.json 4 添加 "terminal.integrated.shell.windowns": "C:/Users/Wangzd/AppData/Local/Pr…

vue2-vue中mixin到底是什么?

1、mixin是什么? Mixin是面向对象程序设计语言中的类,提供了方法的实现。其他类可以访问mixin类的方法而不必成为其子类。 Mixin类通常作为功能模块使用,在需要该功能时“混入”,有利于代码的复用又避免了多继承的复杂。 1.1 vue中…

stl_list类(使用+实现)(C++)

list 一、list-简单介绍二、list的常用接口1.常见构造2.iterator的使用3.Capacity和Element access4.Modifiers5.list的迭代器失效 三、list实现四、vector 和 list 对比五、迭代器1.迭代器的实现2.迭代器的分类(按照功能分类)3.反向迭代器(1)、包装逻辑…

wpf画刷学习1

在这2篇博文有提到wpf画刷, https://blog.csdn.net/bcbobo21cn/article/details/109699703 https://blog.csdn.net/bcbobo21cn/article/details/107133703 下面单独学习一下画刷; wpf有五种画刷,也可以自定义画刷,画刷的基类都…

Maven分模块-继承-聚合-私服的高级用法

Maven分模块-继承-聚合-私服的高级用法 JavaWeb知识,介绍Maven的高级用法!!! 文章目录 Maven分模块-继承-聚合-私服的高级用法1. 分模块设计与开发1.1 介绍1.2 实践1.2.1 分析1.2.2 实现 1.3 总结 2. 继承与聚合2.1 继承2.1.1 继承…

无人机巢的作用及应用领域解析

无人机巢作为无人机领域的创新设备,不仅可以实现无人机的自主充电和电池交换,还为无人机提供安全便捷的存放空间。为了帮助大家更好地了解无人机巢,本文将着重解析无人机巢的作用和应用领域。 一、无人机巢的作用 无人机巢作为无人机技术的重…

【chrome扩展开发】vue-i18n使用问题及解决方案

记录chrome扩展开发时调用vue-i18n的一些问题和解决方法 环境 vue: ^3.3.4vue-i18n: ^9.2.2vite: ^4.4.8 错误1 Uncaught (in promise) EvalError: Refused to evaluate a string as JavaScript because unsafe-eval is not an allowed source of script in the following Con…

Spring Bean的生命周期

文章目录 Spring Bean的生命周期加载Bean对象创建Bean对象构造对象填充属性初始化实例注册销毁 销毁 Spring Bean的生命周期 Spring Bean的生命周期就是指Bean对象从创建到销毁的过程,大体可以分为:实例化、属性赋值、初始化、使用、销毁。 加载Bean对象…

Modelsim打开后报unable to checkout a viewer license

找到Modelsim安装包中的MentorKG.exe文件和patch64_dll.bat文件,将这两个文件拷贝到Modelsim安装目录中的win64文件夹: 在win64文件夹中找到mgls64.dll,将它拷贝粘贴一份后修改名字为mgls.dll: 双击win64文件夹中的patch64_dll.ba…

【C++】数据结构与算法:常用排序算法

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍常用排序算法。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…

Red Hat 安装MySQL 8.0与 Navicat

目录 Red Hat 安装 MySQL 8.0 1、更新软件包列表 2、安装MySQL服务器和客户端 3、启动MySQL服务 4、确保MySQL服务器正在运行 5、root 用户的密码 6、登录MySQL,输入mysql密码 7、MySQL默认位置 Red Hat 安装 Navicat 1、下载 Navicat 2、执行命令 Red H…

STM32的电动自行车信息采集上报系统(学习)

摘要 针对电动自行车实时监管不便的问题,设计了一种基于STM32的电动自行车信息采集系统,通过获取电池、位置和行驶状态信息并上报到服务器中,实现实时监管。 通过多路串口请求电池、行驶状态和位置信息,以并发方式进行数据接收、…

Podman Desktop安装与使用-Windows10

下载 containers/podman 地址 Podman Desktop Downloads 地址 我这里演示的是podman-v4.4.4.msi和podman-desktop-0.13.0-setup.exe 安装 先决条件:由于 Podman 使用 WSL,因此您需要最新版本的 Windows 10 或 Windows 11。在 x64 上,WSL…