nginx、php、mysql源码编译安装
一.nginx源码编译及使用
1.源码编译
下载nginx压缩包,解压缩
安装编译依赖项:
yum install gcc -y
yum install -y pcre-devel
yum install -y openssl-devel.x86_64
关闭c语言编译debug(轻量化编译文件):
指定编译路径及功能模块:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
执行make:
make命令执行成功(编译成功)后,在nginx/objs目录下生成二进制编译文件:
执行make install ,将编译好的nginx安装到指定路径:
注:如果需要二次编译nginx,需执行make clean 命令清楚上次编译文件。
2.nginx配置及部署
创建nginx用户,建立软连接,运行nginx
测试:curl 172.25.3.1
配置文件修改,路径/usr/local/nginx/conf/nginx.conf
修改后检测语法正确nginx -t,无误后重载 nginx -s reload
设置开机启动:
vim /usr/lib/systemd/system/nginx.server
systemctl daemon-reload
systemctl enable --now nginx.service
二.php源码编译及使用
1.php源码编译
安装解压软件,解压bz2文件到家目录下
yum install bzip2 -y
tar jxf php-7.4.12.tar.bz2
安装编译依赖项:
yum install systemd-devel -y
yum install libxm2-devel -y
yum install libxml2-devel -y
yum install sqlite-devel -y
yum install libcurl-devel -y
yum install libpng-devel -y
yum install -y oniguruma-6.8.2-1.el7.x86_64.rpm
yum install -y oniguruma-devel-6.8.2-1.el7.x86_64.rp
进入php-7.4.12/目录,指定编译路径及功能模块
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm \
--with-fpm-user=nginx --with-fpm-group=nginx \
--with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd \
--with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap \
--enable-inline-optimization --enable-xml --enable-ftp --enable-gd \
--enable-exif --enable-mbstring --enable-bcmath --with-fpm-systemd\
make:
make install安装到指定目录
2.php配置及使用
复制配置模板,并修改
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
复制模板,修改时区
cd php-7.4.12/
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php.ini
设置开启启动php并开启php:
cd php-7.4.12/sapi/fpm/
cp php-fpm.service /usr/lib/systemd/system
vim /usr/lib/systemd/system/php-fpm.service
systemctl daemon-reload
systemctl start php-fpm.service
systemctl enable --now php-fpm.service
修改nginx以支持php,并重载:
创建index.php文件,测试php是否生效:
vim /usr/local/nginx/html/index
测试:
三.mysql源码编译
解压mysql压缩文件:
tar zxf mysql-boost-5.7.31.tar.gz
安装cmake:
yum install cmake -y
编译前准备工作,创建用户及编译目录:
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
mkdir mysql-5.7.31/bld
安装依赖项:
yum install ncurses-devel -y
yum install gcc-c++ -y
yum install bison -y
进入 mysql-5.7.31/bld,配置编译:
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql\/mysql.sock
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1\-DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4\ -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci \
-DWITH_BOOST=/root/mysql-5.7.31/boost/boost_1_59_0/
make进行编译:
make install安装mysql
四.phpMyadmin安装及应用
phpMyadmin是一款基于php的mysql图形化管理界面,需要搭配mysql数据库使用
1.phpMyadmin安装
安装解压软件:
yum install -y unzip
解压压缩包,将解压文件改名并移动至nginx发布目录/usr/local/nginx/html
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages /usr/local/nginx/html/myadmin
2.mysql启动配置及安全初始化
配置my.conf文件,数据存放目录设置为/data/mysql:
vim /etc/my.cnf
创建数据存放目录,修改目录权限:
mkdir /data/mysql -p
chown mysql.mysql /data/mysql/
chmod 750 /data/mysql/
配置全局变量:
vim .bash_profile
source .bash_profile
复制mysql管理模板:
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
执行命令
mysqld --initialize --user=mysql
如果命令不成功,清除/data/mysql下文件,再执行
安全初始化后会生成随即密钥,用于安全初始化时进入mysql
启动mysql:
/etc/init.d/mysqld start
进行安全初始化,设置root密码及安全配置:
mysql_secure_installation
3.phpMyadmin连接mysql设置
注:在mysql及php启动情况下才能进行连接
修改php.ini文件,重载服务:
cd /usr/local/php/etc/
vim php.ini
systemctl reload php-fpm.service
修改/data下mysql目录权限,避免登陆出现权限拒绝:
cd /data/
chmod 755 mysql/
如果在访问myadmin时遇到403报错,设置nginx.comf,默认发布页为index.php(原因目前不明,实测有效~~~~)
在firefox访问 172.25.3.1/myadmin
账号为root,密码为安全初始化时候设置的密码
排除错误,登陆成功!!!!