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

LNMP和Discuz论坛

文章目录

  • LNMP和Discuz论坛
    • 1 LNMP搭建
      • 1.1 编译安装nginx服务
        • 1.1.1 编译安装
        • 1.1.2 添加到系统服务
      • 1.2 编译安装MySQL服务
        • 1.2.1 准备工作
        • 1.2.2 编辑配置文件
        • 1.2.3 设置路径环境变量
        • 1.2.4 数据库初始化
        • 1.2.5 添加mysqld系统服务
        • 1.2.6 修改mysql的登录密码
      • 1.3 编译安装PHP服务
        • 1.3.1 准备工作
        • 1.3.2 编译安装
        • 1.3.3 创建软连接
        • 1.3.4 修改PHP配置文件
          • 1.3.4.1 修改主配置文件
          • 1.3.4.2 修改进程服务配置文件
          • 1.3.4.3 修改拓展配置文件
        • 1.3.5 启动php-fpm
        • 1.3.6配置nginx支持PHP解析
        • 1.3.7 验证PHP测试页
    • 2 安装论坛
      • 2.1 解压Discuz源码包并配置
      • 2.2 安装Discuz论坛

LNMP和Discuz论坛

LNMP

L:Linux操作系统

N:nginx前端页面

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

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

1 LNMP搭建

1.1 编译安装nginx服务

1.1.1 编译安装
apt autoremove nginx
# 如果系统中曾经用apt装过nginx,则使用此命令完全卸载,否则可能会出错
apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
# 安装nginx依赖环境
useradd -M -s /sbin/nologin nginx
# 创建nginx程序用户tar -xf /opt/nginx-1.22.0.tar.gz
cd nginx-1.22.0/
./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_modulemake -j 4 && make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
# 创建软连接
mkdir /usr/local/nginx/run
chown -R nginx.nginx /usr/local/nginx/
vim /usr/local/nginx/conf/nginx.confPID /usr/local/nginx/run/nginx.pid
1.1.2 添加到系统服务
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.targetsystemctl daemon-reload 
systemctl start nginx

1.2 编译安装MySQL服务

1.2.1 准备工作
apt -y install libaio1 libncurses5
# 安装MySQL依赖环境
tar -xf mysql-8.0.30-el7-x86_64.tar.gz
mv mysql-8.0.30-el7-x86_64 /usr/local/mysql
# 将解压的包更名为mysql,移到/usr/local目录下
useradd -M -s /sbin/nologin mysql
# 为MySQL创建程序用户
chown mysql.mysql -R /usr/local/mysql/
# 递归更改/usr/local/mysql的所有者和所属组为mysql
1.2.2 编辑配置文件
vim /etc/my.cnf[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
# 服务端配置chown mysql.mysql /etc/my.cnf
1.2.3 设置路径环境变量
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
或创建软链接
ln -s /usr/local/mysql/bin/* /usr/local/bin/
1.2.4 数据库初始化
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
1.2.5 添加mysqld系统服务
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 让mysql服务可以使用systemd启动
systemctl daemon-reload			# 刷新系统服务配置文件
systemctl restart mysqld		# 重启服务
systemctl enable mysqld			# 开机自启动
netstat -antp | grep 3306		# 查看3306端口判断MySQL服务是否开启
1.2.6 修改mysql的登录密码
mysqladmin -u root -p password "123456"
# !!!这一步非常重要,写错了只能推倒重来!!!
mysql -u root -p123456create user 'root'@'%' identified by '123456';# "%"表示任意地址,可以使用密码123456以root用户远程登录数据库grant all privileges on *.* to 'root'@'%';# 赋予远程连接的权限ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';# 修改加密方式,可以进行远程连接create database bbs;# 创建一个数据库叫bbscreate user 'bbsuser'@'%' identified by 'admin123';# 创建用户bbsuser,密码为admin123grant all privileges on bbs.* to 'bbsuser'@'%';# 把bbs数据库里面所有表的权限授予给bbsusercreate user 'bbsuser'@'localhost' identified by 'admin123';grant all privileges on bbs.* to 'bbsuser'@'localhost';flush privileges;# 刷新数据库

在这里插入图片描述

如下图所示表示能成功登录mysql:

在这里插入图片描述

1.3 编译安装PHP服务

1.3.1 准备工作
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
# 安装PHP依赖环境
cd /opt
tar -xf php-8.1.27.tar.gz
groupadd nobody
# 为PHP创建nobody组
1.3.2 编译安装
cd /opt/php-8.1.27/
./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-zipmake -j 4 && make install
# 编译安装

以下为上述配置各项含义:

  • --prefix=/usr/local/php:指定PHP的安装目录为/usr/local/php。
  • --with-mysql-sock=/usr/local/mysql/mysql.sock:指定MySQL的Unix socket文件路径,用于与MySQL数据库建立连接。
  • --with-mysqli:启用MySQLi扩展,用于支持MySQL数据库。
  • --with-zlib:启用Zlib库,用于压缩和解压缩数据。
  • --with-curl:启用cURL库,用于支持对URL的操作,如下载文件等。
  • --with-gd:启用GD库,用于处理图像。
  • --with-jpeg-dir:指定JPEG库的路径,用于GD库对JPEG格式图片的处理。
  • -with-png-dir:指定PNG库的路径,用于GD库对PNG格式图片的处理。
  • --with-freetype-dir:指定FreeType库的路径,用于GD库对字体的支持。
  • --with-openssl:启用OpenSSL库,用于支持SSL加密和HTTPS协议。
  • --enable-fpm:启用PHP-FPM(FastCGI Process Manager),用于提供更高效的PHP进程管理和请求处理。
  • --enable-mbstring:启用多字节字符串支持,用于处理多字节字符集的操作。
  • --enable-xml:启用XML支持,用于处理XML文档和数据。
  • --enable-session:启用会话支持,用于在不同页面间保持用户会话状态。
  • --enable-ftp:启用FTP支持,用于对FTP服务器进行操作。
  • --enable-pdo:启用PDO(PHP Data Objects),用于支持数据库访问的统一接口。
  • --enable-tokenizer:启用Tokenizer扩展,用于对字符串进行分词处理。
  • --enable-zip:启用Zip扩展,用于对ZIP文件进行操作。

在这里插入图片描述

1.3.3 创建软连接
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
1.3.4 修改PHP配置文件
php有三个配置文件
php.ini			主配置文件  
php-fpm.conf	进程服务配置文件 
www.conf		扩展配置文件
1.3.4.1 修改主配置文件
cp /opt/php-8.1.27/php.ini-development /usr/local/php/lib/php.ini
# 模板
vim /usr/local/php/lib/php.ini
# 按下图修改主配置文件

在这里插入图片描述

在这里插入图片描述

1.3.4.2 修改进程服务配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
# 按下图修改进程服务配置文件

在这里插入图片描述

1.3.4.3 修改拓展配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
1.3.5 启动php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
# 启动PHP-FPM服务,并使用/usr/local/php/lib/php.ini文件作为PHP配置文件
# php-fpm: 是一个fastcgi的管理工具, nginx的动态请求实际上是由php-fpm来处理
netstat -antp | grep 9000
# 查看9000端口判断PHP服务是否启用
cp /opt/php-8.1.27/sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service 
1.3.6配置nginx支持PHP解析
mkdir -p /var/www/html
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak.2024.12.9
# 养成修改配置文件先备份的好习惯
vim /usr/local/nginx/conf/nginx.conf
# 作如下修改
location / {root   /var/www/html;index  index.html index.htm;
}location ~ \.php$ {root /var/www/html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;
}nginx -t
# 修改完nginx配置文件检查语法
systemctl restart nginx.service
# 重启nginx服务

在这里插入图片描述
在这里插入图片描述

1.3.7 验证PHP测试页
cd /var/www/html/
vim index.php<?php
$link=mysqli_connect('192.168.159.200','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

结果如下图表示成功:

在这里插入图片描述

2 安装论坛

2.1 解压Discuz源码包并配置

unzip /opt/Discuz_X3.5_SC_UTF8.zip -d /opt/dis
# 解压到指定目录/opt/dis中
cp -a /opt/dis/upload/ /var/www/html/bbs
cd /var/www/html
chmod -R 777 bbs/
chown -R nginx.nginx bbs/
cd bbs/config
cp -a config_global_default.php config_global.php
# 安装Discuz论坛所需文件名config_global.php
cp -a config_ucenter_default.php config_ucenter.php
# 安装Discuz论坛所需文件名config_ucenter.php

2.2 安装Discuz论坛

使用浏览器访问
192.168.159.200/bbs/install/index.php

进入安装界面,安装步骤如下图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

相关文章:

LNMP和Discuz论坛

文章目录 LNMP和Discuz论坛1 LNMP搭建1.1 编译安装nginx服务1.1.1 编译安装1.1.2 添加到系统服务 1.2 编译安装MySQL服务1.2.1 准备工作1.2.2 编辑配置文件1.2.3 设置路径环境变量1.2.4 数据库初始化1.2.5 添加mysqld系统服务1.2.6 修改mysql的登录密码 1.3 编译安装PHP服务1.3…...

Cadence学习笔记 2 PCB封装绘制

基于Cadence 17.4&#xff0c;四层板4路HDMI电路 更多Cadence学习笔记&#xff1a;Cadence学习笔记 1 原理图库绘制 目录 2、PCB封装绘制 2、PCB封装绘制 封装尺寸如下。 用Allegro做PCB封装前&#xff0c;要先做焊盘&#xff08;Allegro 比AD、PADS多一个步骤&#xff1a;绘制…...

网络安全——防火墙

基本概念 防火墙是一个系统&#xff0c;通过过滤传输数据达到防止未经授权的网络传输侵入私有网络&#xff0c;阻止不必要流量的同时允许必要流量进入。防火墙旨在私有和共有网络间建立一道安全屏障&#xff0c;因为网上总有黑客和恶意攻击入侵私有网络来破坏&#xff0c;防火…...

【CSS in Depth 2 精译_074】第 12 章 CSS 排版与间距概述 + 12.1 间距设置(下):行内元素的间距设置

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 12 章 CSS 排版与间距】 ✔️ 12.1 间距设置 12.1.1 使用 em 还是 px12.1.2 对行高的深入思考12.1.3 行内元素的间距设置 ✔️ 12.2 Web 字体12.3 谷歌字体 文章目…...

短视频矩阵抖音SEO源码OEM独立部署

短视频优化矩阵源码涉及对抖音平台上的视频内容进行筛选与排序&#xff0c;目的是增强其在搜索引擎中的可见度&#xff0c;以便更多用户能够浏览到这些视频。而抖音SEO优化系统则是通过构建一个分析框架&#xff0c;来解析抖音上的用户数据、视频信息及标签等元素&#xff0c;并…...

使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像

文章目录 应用快速部署NginxRedisMySQLTomcat 制作镜像镜像原理基于已有容器创建使用 Dockerfile 创建镜像指令说明构建应用创建 Dockerfile 文件创建镜像 应用快速部署 Nginx docker run -d -p 80:80 nginx使用浏览器访问虚拟机地址 Redis docker pull redis docker run --…...

在ensp中ACL路由控制实验

一、实验目的 掌握ACL路由控制管理 二、实验要求 要求&#xff1a; 配置路由策略&#xff0c;左右两边不公开区域对方不可达&#xff0c;其他区域可以互相ping通 设备&#xff1a; 1、三台路由器 2、四台交换机 3、四台电脑 4、四台服务器 使用ensp搭建实验环境,如图所…...

μC/OS-Ⅱ源码学习(3)---事件模型

快速回顾 μC/OS-Ⅱ中的多任务 μC/OS-Ⅱ源码学习(1)---多任务系统的实现 μC/OS-Ⅱ源码学习(2)---多任务系统的实现(下) 本文开始&#xff0c;进入事件源码的学习。 事件模型 在一个多任务系统里&#xff0c;各个任务在系统的统筹下相继执行&#xff0c;由于执行速度极快&a…...

Jmeter进阶篇(30)深入探索 JMeter 监听器

前言 在性能测试领域里,Apache JMeter 是一款经典而强大的工具,而其中的监听器(Listeners)组件更是发挥着不可或缺的关键作用。 监听器就像敏锐的观察者,默默记录测试执行过程中的各种数据,作为系统性能分析的数据依据。 本文将带你全方位走进 JMeter 监听器的奇妙世界,…...

虚幻引擎的工程目录结构

虚幻引擎的工程目录结构如下&#xff1a; .idea/.vs&#xff1a;用于IDE&#xff08;如IntelliJ IDEA或Visual Studio&#xff09;的项目配置文件&#xff0c;包含工程设置和解决方案文件。 Binaries&#xff1a;存放编译后的可执行文件和相关的动态链接库&#xff08;DLL&…...

深度学习中的yield

以下为例&#xff1a; def data_iter(batch_size, features, labels):num_examples len(features)indices list(range(num_examples))# 这些样本是随机读取的&#xff0c;没有特定的顺序random.shuffle(indices)for i in range(0, num_examples, batch_size):batch_indices …...

数据库数据恢复—ORACLE常见故障有哪些?如何恢复数据?

Oracle数据库常见故障表现&#xff1a; 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。 Oracle数据库数据恢复方案&#xff1a; 1、检测存放数据库的服务器/存储设备是否存…...

使用JavaScrip和HTML搭建一个简单的博客网站系统

搭建一个简单的博客网站系统&#xff0c;我们需要创建几个基本的页面和功能&#xff1a;登录、注册、文章发布等。这里我们先实现一个基础版本&#xff0c;包括用户登录、注册以及文章发布的功能。由于这是一个简化版的示例&#xff0c;我们将所有逻辑集成在一个HTML文件中&…...

算法-字符串-76.最小覆盖子串

一、题目 二、思路解析 1.思路&#xff1a; 滑动窗口&#xff01;&#xff01;&#xff01; 2.常用方法&#xff1a; 无 3.核心逻辑&#xff1a; 1.特殊情况&#xff1a;s或t是否为空字符串 if(snull||tnull)return ""; 2.声明一个字符数组——用于记录对应字符出现…...

Python爬虫之Selenium的应用

【1】Selenium基础介绍 1.什么是selenium&#xff1f; &#xff08;1&#xff09;Selenium是一个用于Web应用程序测试的工具。 &#xff08;2&#xff09;Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 &#xff08;3&#xff09;支持通过各种driv…...

粉丝生产力与开源 AI 智能名片 2+1 链动模式商城小程序的融合创新与价值拓展

摘要&#xff1a;本文聚焦于粉丝生产力在当代文化与商业语境中的独特作用&#xff0c;并深入探讨其与开源 AI 智能名片 21 链动模式商城小程序的有机结合。通过剖析粉丝生产力的多元表现形式、内在驱动机制以及开源 AI 智能名片 21 链动模式商城小程序的功能特性与商业潜力&…...

红黑树(Red-Black Tree)

一、概念 红黑树&#xff08;Red Black Tree&#xff09;是一种自平衡的二叉搜索树&#xff0c;通过添加颜色信息来确保在进行插入和删除操作时&#xff0c;树的高度保持在对数级别&#xff0c;从而保证了查找、插入和删除操作的时间复杂度为 O(log n)。这种树可以很好地解决普…...

Cocos 资源加载(以Json为例)

resources 通常我们会把项目中需要动态加载的资源放在 resources 目录下&#xff0c;配合 resources.load 等接口动态加载。你只要传入相对 resources 的路径即可&#xff0c;并且路径的结尾处 不能 包含文件扩展名。 resources.load("Inf", JsonAsset, (error, ass…...

解决 IntelliJ IDEA 启动错误:插件冲突处理

引言 在使用 IntelliJ IDEA 进行开发时&#xff0c;我们可能会遇到各种启动错误。本文将详细介绍一种常见的错误&#xff1a;插件冲突&#xff0c;并提供解决方案。 错误背景 最近&#xff0c;有用户在启动 IntelliJ IDEA 时遇到了一个错误&#xff0c;提示信息为&#xff1a…...

SQL——DQL分组聚合

分组聚合&#xff1a; 格式&#xff1a; select 聚合函数1(聚合的列),聚合函数2(聚合的列) from 表名 group by 标识列; ###若想方便分辨聚合后数据可在聚合函数前加上标识列&#xff08;以标识列进行分组&#xff09; 常见的聚合函数: sum(列名):求和函数 avg(列名)…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...