单节点的服务架构:
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;