单节点服务架构

单节点的服务架构:

LNMP

l:lilnux系统

n:nginx静态页面,转发动态请求

m:mysql数据库,后端服务器,保存用户和密码信息,以及论坛的信息

p:PHP,处理动态请求,动态请求转发数据库,然后再把动态响应的结果返回nginx

解析动态页面 .html .php .jsp动态页面。 .php里面的代码

开源的多用途的一个脚本语言,web开发,第二个,转发动态请求到数据库

cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 指定安装路径

DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ 设定通信套接字文件

DSYSCONFDIR=/etc \ 配置文件存储路径

DSYSTEMD_PID_DIR=/usr/local/mysql \进程文件的存放位置

DDEFAULT_CHARSET=utf8 \ 默认字符集编码

DDEFAULT_COLLATION=utf8_general_ci \ 默认字符集校对规则

DWITH_EXTRA_CHARSETS=all \ 字符集对所有库生效

DWITH_INNOBASE_STORAGE_ENGINE=1 \ 安装innodb存储引擎

DWITH_ARCHIVE_STORAGE_ENGINE=1 \

DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

DMYSQL_DATADIR=/usr/local/mysql/data \ 数据库文件的存放位置

DWITH_BOOST=boost \ 指定boost

DWITH_SYSTEMD=1 生成系统的管理文件 systemctl

client port = 3306 客户端的端口

3306 socket=/usr/local/mysql/mysql.sock 客户端连接使用的通信套接字文件

mysqld 服务端配置

user = mysql mysql服务端运行时的用户名

basedir=/usr/local/mysql 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 禁用dns反向解析,提高数据库的性能

max_connections=2048 最大并发连接数

default-storage-engine=INNODB 指定数据库的默认存储引擎

max_allowed_packet=16M 可以接收数据包的大小

server-id = 1 mysql服务器的唯一id,主从复制,在主从复制中,id不能重复

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

./configure

--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文件进行操作。

php是哪个配置文件:

php.ini 主配置文件

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

www.conf扩展配置文件

fastcgi_param SCRIPT_FILENAME/usr/local/nginx/html$fastcgi_script_name;fastcgi是一个服务器,是nginx自带的变量,指定php脚本的路径。index.php都会指到/usr/local/nginx/htm/index.php

include fastcgi_params;

相关推荐
一木 之林8 小时前
Dify学习笔记 03 · RAG检索增强生成:三代范式、评估与落地(第40-45、55-56集)
笔记·小程序·交互·dify
箓维13 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
二哈赛车手13 小时前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
星恒随风14 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
智学AI16 小时前
AI博主写作素材管理方法分享:资料归集、笔记关联与文档归档
人工智能·笔记
叼烟扛炮16 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain
weixin_4481199416 小时前
Datawhale Jev Cookbook 202610 笔记5
笔记
一木 之林17 小时前
Dify学习笔记 04 · 检索底座:Embedding、Rerank与向量数据库(第46-54集)
笔记·学习·embedding·dify
ljt272496066117 小时前
Python笔记(十一)--Numpy(一)
笔记·python·numpy
芯思路17 小时前
STM32开发学习笔记之十【AI部署】
笔记·stm32·学习