lnmp+discuz论坛 附实验:搭建discuz论坛

news2025/1/11 12:42:24

Inmp+discuz论坛

Inmp:

t: linux操作系统

nr: nginx前端页面

me: mysql数据库 账号密码,等等都是保存在这个数据库里面

p: php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库,通过php把动态请求转发到数据库

 nginx的优化:
1、隐藏版本号
server_token off通用方法编译。apt yum都可以使用
只是隐藏版本,服务名称还在
修改源码文件:仅限于编译安装
server_token on;

  1. nginx的日志分割:
    nginx本身没有设计日志分割的工具。运维人员自己进行处理和分割。
    使用shell脚本实现日志分割:

 

首先先把三个安装包拖到opt目录下

安装数据库依赖环境 apt install -y libaio1 libncurses5

解压mysql

将解压出来的文件改名为mysql并移动到 /usr/local 目录下

创建一个mysql的程序应用 

chown修改权限

 

编辑my.cnf (mysql的主配置文件)

此代码分别为mysql的客户端和服务端,复制此代码到编辑文件中

[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

 同样修改此文件的所有者和所在组

将mysql/bin这个文件添加到etc目录下,让系统能识别

cd 到mysql/bin目录下把下列代码复制,回车 执行初始化

 ./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

找到 mysql.server启动文件,复制到init.d下并改名

 修改执行权限

重启 

查看一下3306端口有没有起来 

设置初始化密码,确认密码的时候不要输入,直接回车,如图所示 

mysql -u root -p123456 测试一下能否登录成功 

 解压mysql安装包

 cd 到php目录,编译安装所需的依赖环境

apt-get install -y libgd-dev libjpeg8-dev libpng-dev libfreetype6-dev libxml2-dev zlib1g-dev libcurl4-openssl-dev libssl-dev libonig-dev libsqlite3-dev

创建group nobody

./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-pdo-mysql \
--with-openssl \
--with-sqlite-devel \
--with-oniguruma-devel \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip 

此时则为安装成功 

使用4核大小进行安装,过程大概需要几分钟 

添加软链接,让系统能识别 

 修改配置,php.ini 主配置文件

 set nu 找到下列两行,按图所示修改,

 

按图显示修改  php.fpm.conf  进程服务端的配置文件

修改配置文件 www.conf 扩展配置文件

php-fpm:是一个fastcg的管理工具,nginx的动态请求实际上是由php-fpm来处理

启动端口 9000

启动服务,但此时为假启动,接下来继续修改 

 

 cd到/usr/local/php/etc  打开此配置文件修改

修改红方框的两项

回到nginx文件,先做好备份如图所示,打开nginx.conf

编辑红框区域

 nginx -t 查看一下

 

CREATE DATABASE bbs;

CREATE USER 'bbsuser'@'%' IDENTIFIED BY 'admin123';

GRANT ALL PRIVILEGES ON bbs.* TO 'bbsuser'@'%';
FLUSH PRIVILEGES;

CREATE USER 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';

GRANT ALL PRIVILEGES ON bbs.* TO 'bbsuser'@'localhost';
FLUSH PRIVILEGES;

每行复制回车

输入http://192.168.233.11/bbs/install/index.php

将下列两个文件更名,更改为安装所需要求

编辑nginx.conf文件 

管理员密码123

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

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

相关文章

杨振宁大学物理视频中黄色的字,c#写程序去掉

先看一下效果:(还有改进的余地) 我的方法是笨方法,也比较刻板。 1,首先想到,把屏幕打印下来。c#提供了这样一个函数: Bitmap bmp new Bitmap(640, 480, PixelFormat.Format32bppArgb); // 创…

Openlayers基础知识回顾(五)

1、GeoJSON数据的加载 GeoJSON是一种基于JSON的地理空间数据交换格式,它定义了几种类型JSON对象以及它们组合在一起的方法,以表示有关地理要素、属性和它们的空间范围的数据 2、GeoJSON转化为ol要素 new ol.format.GeoJSON().readFeatures() 一、canv…

VTK知识学习(21)- 数据的读写

1、前言 对于应用程序而言,都需要处理特定的数据,VTK应用程序也不例外。 VTK应用程序所需的数据可以通过两种途径获取: 第一种是生成模型,然后处理这些模型数据(如由类 vtkCylinderSource 生成的多边形数据); 第二种是从外部存储介质里导…

javaWeb之过滤器(Filter)

目录 前言 过滤器概述 什么是过滤器 过滤器详细 过滤器的生命周期 过滤器的应用 创建一个简单的Filter类步骤 注意:指定拦截路径,我们有两种方式 实例 前言 本篇博客的核心 知道过滤器的整个拦截过程知道如何指定拦截路径知道过滤器的生命周期…

如何增强通信监控系统

随着员工工作方式的改变,创建安全的远程通信通道至关重要。这对于数据安全也很重要。通信监控系统是确保数据和网络安全的当务之急。 如今,员工越来越多地使用电子通信。在理想世界中,这些渠道的范围是明确界定的。在现实世界中,…

「Mac玩转仓颉内测版47」小学奥数篇10 - 数列求和

本篇将通过 Python 和 Cangjie 双语实现数列求和的计算。通过这个题目,学生将学会如何通过公式法和循环法求解等差数列与等比数列的和。 关键词 小学奥数Python Cangjie数列求和 一、题目描述 编写一个程序,计算等差数列和等比数列的和。用户输入首项…

Robot Framework的 跳出 for循环

一. 简介 前面简单学习了一下,robotframework中的 for循环语句,文章如下: Robot Framework的 for循环语句-CSDN博客 本文继续学习 有关 for循环的其他操作,例如跳出 for循环,或者退出某一次循环等操作。 二. Robo…

nonolog起步笔记-4-Server端的两个线程

nonolog起步笔记-4-Server端的两个线程 Server端的两个线程两个线程的角色与各自的职责RuntimeLogger::compressionThreadMain线程 详细学习一下相关的代码第三个线程第一次出现原位置swip buffer Server端的两个线程 如前所述,nanolog的server端,相对而…

️ 在 Windows WSL 上部署 Ollama 和大语言模型的完整指南20241206

🛠️ 在 Windows WSL 上部署 Ollama 和大语言模型的完整指南 📝 引言 随着大语言模型(LLM)和人工智能的飞速发展,越来越多的开发者尝试在本地环境中部署大模型进行实验。然而,由于资源需求高、网络限制多…

js:事件监听

事件监听 事件监听:让程序检测是否有事件产生,一旦有事件触发,就调用一个函数做出响应,也称为绑定事件或注册事件 事件:编程系统内发生的动作或发生的事情 比如用户单击一个按钮下拉菜单 添加事件监听 事件监听三要…

C# (WinForms) 使用 iTextSharp 库将图片转换为 PDF

iTextSharp简介 iTextSharp 是一个开源的 .NET 库,主要用于创建和操作 PDF 文档。它是 iText 的 .NET 版本,iText 是一个广泛使用的 Java 库。iTextSharp 继承了 iText 的核心功能并进行了适应 .NET 平台的调整。 iTextSharp 的主要功能包括&#xff1a…

使用 WebRtcStreamer 实现实时视频流播放

WebRtcStreamer 是一个基于 WebRTC 协议的轻量级开源工具,可以在浏览器中直接播放 RTSP 视频流。它利用 WebRTC 的强大功能,提供低延迟的视频流播放体验,非常适合实时监控和其他视频流应用场景。 本文将介绍如何在Vue.js项目中使用 WebRtcSt…

mysql5.7和mysql8.0安装教程(超详细)

目录 一、简介 1.1 什么是数据库 1.2 什么是数据库管理系统(DBMS) 1.3 数据库的作用 二、安装MySQL 1.1 国内yum源安装MySQL5.7(centos7) (1)安装4个软件包 (2)找到4个软件包…

ALSA笔记

alsa笔记 ALSA(Advanced Linux Sound Architecture)简介 以上是android和linux系统的音频整体架构图,他们不同的区别主要是在用户空间,Linux通过ALSA-Lib来和ALSA交互,而android则是tingyAlsa,其位于aosp源码根目录的/external/tinyalsa下; 在Kernel层,Alsa向上封装的D…

哈希表实现

哈希概念 哈希(hash)又称散列,是一种组织数据的方式。从译名来看,有散乱排列的意思。本质就是通过哈希函数把关键字 Key 跟存储位置建立一个映射关系,查找时通过这个哈希函数计算出 Key 存储的位置,进行快…

web复习(四)

JavaScript编程 1.计算圆的面积。 (1)表单中设置2个文本框、1个按钮、1个重置按钮,其中圆的面积文本框设置为只读; (2)编写两个自定义函数,分别是计算圆的面积函数area(radius&…

第六届地博会世界酒中国菜助力广州龙美地标美食公司推动地标发展

第六届知交会暨地博会:世界酒中国菜助力广州龙美地标美食公司推动地标产品创新发展 2024年12月9日至11日,第六届粤港澳大湾区知识产权交易博览会暨国际地理标志产品交易博览会在中新广州知识城盛大启幕。本届盛会吸引了全球众多知识产权领域的专业人士和…

【期末复习】编译原理

1. 语法描述 1.1. 上下文无关文法 1.2. 句子 & 句型 & 语言 推导出来的都是句型但是如果句型中只含有终结符,那就是句子所有的句子合起来,才是语言 1.3. 文法 文法就是推导的式子。 1.4. 文法二义性 1.5. 文法二义性证明——根据最左 \ 最右推…

AI绘画设计实战-Day2

Stable Diffusion 提示词前缀 FF,(masterpiece:1.2),best quality,highres,extremely detailed CG,perfect lighting,8k wallpaper,anime,comic,game CG, FF,(杰作:1.2),最高质量,高分辨率,极其…

python数据分析之爬虫基础:requests详解

1、requests基本使用 1.1、requests介绍 requests是python中一个常用于发送HTTP请求的第三方库,它极大地简化了web服务交互的过程。它是唯一的一个非转基因的python HTTP库,人类可以安全享用。 1.2、requests库的安装 pip install -i https://pypi.tu…