打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

这篇具有很好参考价值的文章主要介绍了打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,阿里云社区博客专家😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. 实验环境

本次实验环境见下表

操作系统 服务器IP hostname
centos7.9 10.0.0.7 mufengrow7

如何查看相应的参数

二.编译安装nginx

2.1 准备nginx编译环境

2.1.1 创建nginx目录

[root@mufengrow7 ~]# mkdir -p /usr/local/src/nginx

代码注释:

  • -p:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录

2.1.2 下载nignx源码

[root@mufengrow7 ~]# cd /usr/local/src/nginx
[root@mufengrow7 nginx]# wget https://nginx.org/download/nginx-1.24.0.tar.gz

2.1.3 安装编译依赖包

[root@mufengrow7 nginx]# yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel gd-devel GeoIP-devel

2.2 编译安装nginx

2.2.1 解压nginx源码包

#解压nginx源码
[root@mufengrow7 nginx]# tar xf nginx-1.24.0.tar.gz
#进入nginx目录
[root@mufengrow7 nginx]# cd nginx-1.24.0/
#查看文件
[root@mufengrow7 nginx-1.24.0]# ls
auto     CHANGES.ru  configure  html     man     src
CHANGES  conf        contrib    LICENSE  README

2.2.2 编译nginx

#创建nginx目录
[root@mufengrow7 nginx-1.24.0]# mkdir -p /apps/nginx
[root@mufengrow7 nginx-1.24.0]# ./configure \
--prefix=/apps/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module  \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_gunzip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

2.2.3 安装nginx

[root@mufengrow7 nginx-1.24.0]# make && make install

2.3 添加nginx启动用户

[root@mufengrow7 nginx-1.24.0]# useradd -s /sbin/nologin nginx
[root@mufengrow7 nginx-1.24.0]# id nginx
uid=1001(nginx) gid=1001(nginx) groups=1001(nginx)

2.4 修改nginx目录所属

[root@mufengrow7 nginx-1.24.0]# chown -R nginx.nginx /apps/nginx/

2.5 添加环境变量

#添加nginx的环境变量
[root@mufengrow7 nginx-1.24.0]# vim /etc/profile.d/nginx.sh
export PATH=/apps/nginx/sbin:$PATH
#使变量生效
[root@mufengrow7 nginx-1.24.0]# source /etc/profile.d/nginx.sh

2.6 添加nginx的service文件

[root@mufengrow7 nginx-1.24.0]# vim /usr/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=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target

2.7 创建run文件夹

根据上一节的文件配置,给nginx添加一个用于存储pid文件的目录。

[root@mufengrow7 nginx-1.24.0]# mkdir -p /apps/nginx/run/

2.8 修改配置文件

[root@mufengrow7 nginx-1.24.0]# vim /apps/nginx/conf/nginx.conf
user  nginx nginx; #修改nginx启动用户
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        run/nginx.pid; #修改pid位置
......
http {
    include       mime.types;
    default_type  application/octet-stream;
    include /apps/nginx/conf/conf.d/*.conf; #nginx能够读取conf.d的所有配置文件
......

2.9 添加关于wordpress的配置文件

#添加配置文件目录
[root@mufengrow7 nginx-1.24.0]# mkdir -p /apps/nginx/conf/conf.d
vim /apps/nginx/conf/conf.d/wordpreses.conf
server {
    listen 80;

    location / {
        root /data/nginx/wordpress;
        index index.php index.html index.htm;
    }

    location ~ \.php$ {
        root /data/nginx/wordpress;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

2.10 修改配置文件所属

[root@mufengrow7 nginx-1.24.0]# chown -R nginx.nginx /apps/nginx/conf/conf.d/

2.11 检查配置文件语法

[root@mufengrow7 nginx-1.24.0]# nginx -t
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful

三.编译安装php

我们从wordpress的官方网站上查看关于wordpress系统要求:https://cn.wordpress.org/about/requirements/

从下面的截图我们可以知道新版本的wordpress需要

  • PHP7.4或更高的版本

  • MySQL5.7或更高的版本(MariaDB10.3或更高)

  • 但是也支持旧版本的PHP(PHP 5.6.20版本)环境和MySQL数据库(MySQL 5.0版本)

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

所以本次实验编译安装php7.4

3.1 准备编译环境

3.1.1 安装依赖包

[root@mufengrow7 ~]# yum -y install gcc openssl-devel libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel

3.1.2 创建php源码存储目录

[root@mufengrow7 ~]# mkdir -p /usr/local/src/php7.4

3.1.3 创建php安装目录

[root@mufengrow7 php-7.4.33]# mkdir -p /apps/php74

3.2 编译安装php7.4

3.2.1 下载php7.4源码包

[root@mufengrow7 ~]# cd /usr/local/src/php7.4/
[root@mufengrow7 php7.4]# wget http://cn2.php.net/distributions/php-7.4.33.tar.xz

3.2.2 编译php7.4源码

编译的选项跟需求有关。

[root@mufengrow7 php7.4]# tar xf php-7.4.33.tar.xz

3.2.3 安装php7.4

[root@mufengrow7 php-7.4.33]# make && make install

3.3 准备php配置文件

[root@mufengrow7 php-7.4.33]# cp sapi/fpm/php-fpm.conf /apps/php74/etc/
[root@mufengrow7 php-7.4.33]# cp sapi/fpm/www.conf /apps/php74/etc/php-fpm.d/
[root@mufengrow7 php-7.4.33]# cp php.ini-production /etc/php.ini

3.4 添加启动文件

[root@mufengrow7 php-7.4.33]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

3.5 修改配置文件

[root@mufengrow7 php-7.4.33]# vim /apps/php74/etc/php-fpm.d/www.conf
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.status_path = /pm_status
ping.path = /ping
access.log = /apps/php74/log/$pool.access.log
slowlog = /apps/php74/log/$pool.log.slow
#启动opcache加速
[root@mufengrow7 php-7.4.33]# vim /etc/php.ini
[opcache]
zend_extension=opcache.so
opcache.enable=1 #取消注释

3.6 创建php的日志目录

[root@mufengrow7 php-7.4.33]# mkdir -p /apps/php74/log/

3.7 检查配置文件语法

[root@mufengrow7 php-7.4.33]# /apps/php74/sbin/php-fpm -t
[03-May-2023 19:48:53] NOTICE: configuration file /apps/php74/etc/php-fpm.conf test is successful

3.8 准备php页面

[root@mufengrow7 php-7.4.33]# mkdir -p /data/nginx/wordpress
[root@mufengrow7 php-7.4.33]# vim /data/nginx/wordpress/index.php
<?php
phpinfo();
?>

3.9 启动php

[root@mufengrow7 php-7.4.33]# systemctl daemon-reload
[root@mufengrow7 php-7.4.33]# systemctl start php-fpm.service
[root@mufengrow7 php-7.4.33]# systemctl enable php-fpm.service

3.10 检查php进程

[root@mufengrow7 php-7.4.33]# ps -ef | grep php-fpm | grep -v grep
root       5807      1  0 19:53 ?        00:00:00 php-fpm: master process (/apps/php74/etc/php-fpm.conf)
nginx      5808   5807  0 19:53 ?        00:00:00 php-fpm: pool www
nginx      5809   5807  0 19:53 ?        00:00:00 php-fpm: pool www

3.11 启动nginx

[root@mufengrow7 php-7.4.33]# systemctl daemon-reload
[root@mufengrow7 php-7.4.33]# systemctl enable nginx
[root@mufengrow7 php-7.4.33]# systemctl start nginx

3.12 检查nginx进程

[root@mufengrow7 php-7.4.33]# ps -ef | grep nginx | grep -v grep
root       7551      1  0 18:25 ?        00:00:00 nginx: master process /apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
nginx      7552   7551  0 18:25 ?        00:00:00 nginx: worker process

3.13 浏览器测试php

浏览器访问:

10.0.0.7/index.php

访问结果:

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

四.编译安装MySQL5.7

4.1 创建MySQL目录

[root@mufengrow7 ~]# mkdir -p /usr/local/src/mysql

4.2 编译工具的准备

4.2.1 准备boost库

[root@mufengrow7 ~]# cd /usr/local/src/mysql/
[root@mufengrow7 mysql]# wget https://udomain.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
[root@mufengrow7 mysql]# tar xf boost_1_59_0.tar.gz -C /usr/local/
[root@mufengrow7 mysql]# ln -s /usr/local/boost_1_59_0 /usr/local/boost

为什么要使用boost的1.59版本?

因为MySQL的编译需要1.59版本,高版本编译MySQL会出现错误
打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

4.2.2 准备cmake工具

4.2.2.1 安装依赖软件
[root@mufengrow7 mysql]# yum install -y gcc gcc-c++ make glibc automake autoconf libtool libssl-dev openssl openssl-devel
4.2.2.2 下载cmake工具源码
[root@mufengrow7 mysql]# wget https://github.com/Kitware/CMake/archive/refs/tags/v3.26.3.tar.gz
4.2.2.3 编译cmake
[root@mufengrow7 mysql]# tar xf v3.26.3.tar.gz
[root@mufengrow7 mysql]# cd CMake-3.26.3/
[root@mufengrow7 CMake-3.26.3]# ./bootstrap && gmake && gmake install

4.3 准备MySQL5.7源码包

[root@mufengrow7 CMake-3.26.3]# cd /usr/local/src/mysql/
[root@mufengrow7 mysql]# wget https://github.com/mysql/mysql-server/archive/refs/tags/mysql-5.7.42.tar.gz

4.4 安装编译依赖包

[root@mufengrow7 mysql]# yum install -y ncurses-devel gcc gcc-c++ ncurses bison make

4.5 创建MySQL安装目录

[root@mufengrow7 mysql]# mkdir -p /database/mysql/{data,tmp,binlog,logs}

4.6 创建MySQL用户

[root@mufengrow7 mysql]# groupadd mysql
[root@mufengrow7 mysql]# useradd mysql -s /sbin/nologin -M -g mysql
[root@mufengrow7 mysql]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)

4.7 编译MySQL5.7

#解压源码
[root@mufengrow7 mysql]# tar xf mysql-5.7.42.tar.gz
#进入源码目录
[root@mufengrow7 mysql]# cd mysql-server-mysql-5.7.42/
#编译源码
[root@mufengrow7 mysql-server-mysql-5.7.42]# cmake . -DCMAKE_INSTALL_PREFIX=/database/mysql \
-DMYSQL_DATADIR=/database/mysql/data \
-DMYSQL_UNIX_ADDR=/database/mysql/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

4.8 安装MySQL5.7

[root@mufengrow7 mysql-server-mysql-5.7.42]# make install

4.9 启动MySQL前的准备

4.9.1 添加MySQL环境变量

[root@mufengrow7 mysql-server-mysql-5.7.42]# echo 'export PATH=/database/mysql/bin:$PATH' >> /etc/profile
[root@mufengrow7 mysql-server-mysql-5.7.42]# source /etc/profile

4.9.2 初始化MySQL数据库

  1. 修改MySQL安装目录的属主与属组
[root@mufengrow7 mysql-server-mysql-5.7.42]# chown -R mysql.mysql  /database/mysql/
  1. 修改MySQL配置文件
[root@mufengrow7 mysql-server-mysql-5.7.42]# vim /etc/my.cnf
[client]
port = 3306                         
socket = /database/mysql/mysql.sock
default-character-set = utf8

[mysqld]
port = 3306
server_id = 1
user = mysql
basedir = /database/mysql
datadir = /database/mysql/data
tmpdir = /database/mysql/tmp
socket = /database/mysql/mysql.sock
pid_file = /database/mysql/mysql.pid
character_set_server = utf8
max_connections = 100
max_connect_errors = 10
log_error = /database/mysql/logs/mysql_5_7_37.err
log_bin = /database/mysql/binlog/mysql-bin

[root@mufengrow7 mysql-server-mysql-5.7.42]# chown mysql.mysql /etc/my.cnf
  1. 初始化数据库
#检查数据目录是否有文件,有文件的必须移走
[root@mufengrow7 mysql-server-mysql-5.7.42]# ls /database/mysql/data/
[root@mufengrow7 mysql-server-mysql-5.7.42]# mysqld --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data

代码注释:

  • --initialize-insecure:初始化MySQL不设置root密码

  • --datadir:指定存储数据的目录

  1. 开启SSL连接
[root@mufengrow7 mysql-server-mysql-5.7.42]# mysql_ssl_rsa_setup --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data
  1. 修改server-key.pem文件权限
[root@mufengrow7 mysql-server-mysql-5.7.42]# cd /database/mysql/data/
[root@mufengrow7 data]# chmod +r server-key.pem
[root@mufengrow7 data]# ll server-key.pem
-rw-r--r-- 1 mysql mysql 1676 Apr 28 12:31 server-key.pem

4.10 启动数据库

  1. 拷贝启动脚本
[root@mufengrow7 data]# cd /database/mysql/
[root@mufengrow7 data]# cp support-files/mysql.server  /etc/init.d/mysql
[root@mufengrow7 data]# systemctl daemon-reload
  1. 设置开机启动
[root@mufengrow7 data]# /sbin/chkconfig mysql on
  1. 启动MySQL
[root@mufengrow7 mysql]# /etc/init.d/mysql start
  1. 检查MySQL进程
[root@mufengrow7 mysql]# ps aux | grep 3306 | grep -v grep
mysql     40332  40081  0 12:34 pts/1    00:00:00 /database/mysql/bin/mysqld --basedir=/database/mysql --datadir=/database/mysql/data --plugin-dir=/database/mysql/lib/plugin --user=mysql --log-error=/database/mysql/logs/mysql_5_7_37.err --pid-file=/database/mysql/data/CentOS7.9.pid --socket=/database/mysql/mysql.sock --port=3306

4.11 修改数据库密码

[root@mufengrow7 mysql]# mysqladmin -uroot -p password 123456
Enter password: #继续按回车
mysqladmin: [Warning] Using a password on the command line interface can be insecure.

4.12 创建用于wordpress的数据库和MySQL用户

[root@mufengrow7 ~]# mysql -uroot -pMufengrow123456@

#创建用于wordpress的数据库
mysql> create database mufengrow_wordpress;
Query OK, 1 row affected (0.00 sec)
#创建用于wordpress的用户
mysql> create user mufengrow@'%' identified by 'Mufengrow123456@';
Query OK, 0 rows affected (0.00 sec)
#给用户授权wordpress数据库
mysql> grant all on mufengrow_wordpress.* to mufengrow@'%';
Query OK, 0 rows affected (0.00 sec)

五.部署wordpress

5.1 下载wordpress资源包

[root@mufengrow7 mysql]# cd /data/nginx/wordpress/
[root@mufengrow7 wordpress]# wget https://cn.wordpress.org/wordpress-6.2-zh_CN.tar.gz
[root@mufengrow7 wordpress]# mv index.php /tmp/

5.2 解压资源包

[root@mufengrow7 wordpress]# tar xf wordpress-6.2-zh_CN.tar.gz

5.3 修改wordpress文件所属

[root@mufengrow7 wordpress]# chown -R nginx.nginx /data/nginx/wordpress/

5.4 修改nginx配置

5.4.1 修改nginx配置文件

[root@mufengrow7 wordpress]# vim /apps/nginx/conf/conf.d/wordpreses.conf
server {
    listen 80;

    location / {
        root /data/nginx/wordpress/wordpress; #修改root目录
        index index.php;
    }

    location ~ \.php$ {
        root /data/nginx/wordpress/wordpress; #修改root目录
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

5.4.2 检查语法

[root@mufengrow7 wordpress]# nginx -t
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful

5.4.3 重新读取

通过重启nginx,让nginx重新读取配置文件

[root@mufengrow7 wordpress]# systemctl restart nginx

5.5 安装wordpress

浏览器访问:

10.0.0.7

使用以上地址访问会自动跳转到wordpress的安装页面,点击“现在就开始!”开始安装wordpress
打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

输入数据库信息,点击“提交”

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

点击“运行安装程序”

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

输入wordpress站点信息,点击“安装wordpress”

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

点击“登录”,进入登录页面

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

输入用户信息,登录wordpress

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

登录wordpress的页面

打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战文章来源地址https://www.toymoban.com/news/detail-471684.html

六.总结

  1. 本次实验LNMP环境中的“nginx”,“php”,“MySQL”都需要进行编译
  2. php编译和MySQL编译都需要比较长的时间,且需要安装比较多的依赖
  3. nginx配置文件中的“fastcgi_pass”的地址需要根据php-fpm的设置来定义,如果php-fpm与nginx不在同一服务器上,需要修改地址。

到了这里,关于打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高性能计算HPC照亮AIGC未来:PC集群+Stable Diffusion 打造极致游戏体验

    角色设计 | PC集群 | 增强现实 游戏设计 | PC农场 | PC Farm 随着科技的不断进步,虚拟现实、增强现实等技术已经逐渐成为了游戏设计中不可或缺的一部分。而在这些技术的背后,角色设计、PC集群、GAMEAI等方面的不断发展也为游戏的体验提供了更加丰富的可能性。而在这其中

    2024年02月09日
    浏览(24)
  • 《高性能MySQL》——创建高性能的索引(笔记)

    索引(在MySQL中也叫做“键(key)”) 是存储引擎用于快速找到记录的一种数据结构。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。 在数据量较小且负载较低时,不恰当的索引对性能的影响可能还不明显,但当数据量逐渐增大时

    2024年02月07日
    浏览(74)
  • 一步步教你安装Webman,轻松搭建高性能的PHP框架

    Webman是一款基于Workerman开发的高性能PHP应用框架,它提供了丰富的功能和灵活的配置选项,适用于构建各种类型的Web应用程序。本文将详细介绍如何在宝塔面板上安装Webman,帮助你快速搭建一个高性能的PHP框架。 步骤1:安装宝塔面板 首先,我们需要在服务器上安装宝塔面板

    2024年03月26日
    浏览(46)
  • 《高性能MYSQL》-- 查询性能优化

    查询性能优化 深刻地理解MySQL如何真正地执行查询,并明白高效和低效的原因何在 查询的生命周期(不完整):从客户端到服务器,然后服务器上进行语法解析,生成执行计划,执行,并给客户端返回结果。 一条查询,如果查询得很慢,原因大概率是访问的数据太多 对于低

    2024年03月11日
    浏览(36)
  • Nginx:高性能的Web服务器与反向代理

    在现代互联网应用程序的开发和部署中,选择一个可靠、高性能的Web服务器是至关重要的。Nginx是一个备受推崇的选择,它以其卓越的性能和可靠性在开发者社区中享有盛誉。本文将介绍Nginx的概念、优势,以及如何使用Nginx作为Web服务器和反向代理。 Nginx(发音为“engine X”

    2024年02月19日
    浏览(22)
  • 高性能MySQL实战(三):性能优化

    大家好,我是 方圆 。这篇主要介绍对慢 SQL 优化的一些手段,而在讲解具体的优化措施之前,我想先对 EXPLAIN 进行介绍,它是我们在分析查询时必要的操作,理解了它输出结果的内容更有利于我们优化 SQL。为了方便大家的阅读,在下文中规定类似 key1 的表示二级索引,key_

    2024年02月11日
    浏览(27)
  • 《高性能MySQL》——查询性能优化(笔记)

    将查询看作一个任务,那么它由一系列子任务组成,实际我们所做的就是: 消除一些子任务 减少子任务的执行次数 让子任务运行更快 查询的生命周期大概可分为 = { 客户端 服务器 : 进行解析 , 生成执行计划 执行:包括到存储引擎的调用,以及用后的数据处理 { 排序 分组

    2024年02月13日
    浏览(22)
  • OpenResty安装-(基于Nginx的高性能Web平台,可在Nginx端编码业务)

    首先你的Linux虚拟机必须联网 首先要安装OpenResty的依赖开发库,执行命令: 你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。运行下面的命令就可以添加我们的仓库: 如果提示说命令不存在,则运行:

    2024年02月07日
    浏览(38)
  • 读高性能MySQL(第4版)笔记09_创建高性能索引(下)

    1.4.4.1. InnoDB的二级索引在叶子节点中保存了记录的主键值,所以如果二级索引能够覆盖查询,则可以避免对主键索引的二次查询 7.1.5.1. 常见的类似错误通常是由于尝试使用rsync备份InnoDB导致的 7.3.3.1. 否则,对于范围查询、索引覆盖扫描等操作来说,速度可能会降低很多 7

    2024年02月08日
    浏览(27)
  • 读高性能MySQL(第4版)笔记08_创建高性能索引(上)

    2.4.2.1. 按照索引列中的数据大小顺序存储的 2.4.3.1. 键前缀查找只适用于根据最左前缀的查找 2.4.4.1. 在查询某些条件的数据时,存储引擎不再需要进行全表扫描 2.4.4.2. 通过比较节点页的值和要查找的值可以找到合适的指针进入下层子节点,这些指针实际上定义了子节点页中

    2024年02月08日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包