mysql5.7.31源码编译
tar zxf mysql-boost-5.7.31.tar.gz
解压安装包到当前路径
yum install gcc gcc-c++ ncurses-devel openssl-devel cmake bison
解决安装mysql需要的软件依赖性
cd mysql-5.7.31
进入到解压目录开始进行编译,执行下边这个命令
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \ #安装目录
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \ #数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安装 innodb 存储引擎
-DDEFAULT_CHARSET=utf8 \ #使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
-DEXTRA_CHARSETS=all \ #安装所有扩展字符集
-DWITH_BOOST=boost/boost_1_59_0 # 指定boost库的位置
环境检测完成后,开始 make&&make install
- 编译完成后,建立mysql 用户
useradd -s /sbin/nologin -M -d /usr/local/lnmp/mysql/data mysql
并且将安装目录下的bin目录的路径添加到环境变量中,source ~/.bash_profile
使之生效
- 修改系统自带的
/etc/my.cnf
文件
mysqld --initialize --user=mysql
指定mysql用户对mysql进行初始化处理,会生成一串临时密码
cp /usr/local/lnmp/mysql/support-files/mysql.server /etc/init.d/mysqld
将该文件移动到系统管理服务的启动脚本目录下,命名为mysqld
/etc/init.d/mysqld start
启动该服务
- 对mysql进行安全初始化
mysql_secure_installation
- 测试是否可用
php7.4.12 源码编译
tar zcf php-7.4.12.tar.gz
解压到当前目录
- 解决php安装的依赖性
yum install libxml2-devel sqlite-devel libcurl-devel libjpeg-devel freetype-devel gmp-devel.x86_64
还需要下载两个软件包:链接: 百度网盘提取码: ywsq
用rpm -ivh oniguruma-*
安装
- 进入解压后的目录
cd php-7.4.12/
,执行:
./configure --prefix=/usr/local/lnmp/php \
> --with-config-file-path=/usr/local/lnmp/php/etc/ \
> --with-mysqli \
> --with-pdo-mysql \
> --enable-mysqlnd \
> --with-openssl \
> --with-zlib \
> --with-curl \
> --enable-gd \
> --with-jpeg \
> --with-freetype \
> --with-gettext \
> --with-mhash \
> --enable-mbstring \
> --with-gmp \
> --enable-soap \
> --enable-ftp \
> --enable-sockets \
> --enable-fpm \
> --with-fpm-user=nginx \
> --with-fpm-group=nginx
- 环境检测成功后开始,建立用户
useradd -s /sbin/nologin nginx
然后再make && make install
- 添加到环境变量中,
source ~/.bash_profile
使之生效
- 对文件的一些配置
在解压后的目录中,将php配置文件放到安装目录etc/目录下,将二进制脚本文件放入到 /etc/init.d/目录下,起名叫php-fpm ,通过二进制脚本文件对该服务启用。
nginx1.91.1 源码编译
链接: nginx1.19.1 提取码: enr2
- 解压压缩包,执行
./configure --prefix=/usr/local/lnmp/nginx \
> --with-threads \
> --with-file-aio \
> --with-http_ssl_module \
> --with-http_stub_status_module
- 环境检测成功
make && make install
- 修改nginx 用户的文件打开数
- 修改环境变量PATH
测试
一. 通过修改nginx的配置文件,使的nginx和php联系起来
需要修改的地方:
1.
2.
注: 修改后配置文件之后,可以通过 nginx -s reload
重新加载nginx 这个服务
测试:
通过给nginx 的默认发布目录下(/usr/local/lnmp/nginx/html
)添加一个php文件,来访问测试是否生效
index.php 文件内容:
测试结果:
二. 通过phpMyadmin 软件使nginx + php + mysql 三者联系起来
软件压缩包:链接: phpMyadmin 提取码: y98q
步骤:
-
unzip phpMyAdmin-5.0.2-all-languages.zip -d /usr/local/lnmp/nginx/html
将发布目录解压到nginx 的发布目录下,并且给这个目录创建一个软链接便于访问,ln -s phpMyAdmin-5.0.2-all-languages/ phpmyadmin
-
vim /usr/local/lnmp/php/etc/php.ini
编写php的主配置文件
需要修改的只有两个地方:
-
重启php
-
chmod 755 /usr/local/lnmp/mysql/data
给nginx 用户能够读取/usr/local/lnmp/mysql/data/mysql.sock
文件的权力 -
浏览器访问测试 http://172.25.3.199/phpmyadmin/index.php ,用户登陆之后实现对mysql数据库的web化操作