一、源码编译安装nginx
tar zxvf nginx-1.20.1.tar.gz ##解压安装包
cd nginx-1.20.1/ ##进入
ls

configure
./configure --help ##查看帮助
./configure --prefix=/usr/local/nginx ##编译路径

提示缺少gcc
yum install gcc -y ##安装gcc
安装后重新执行
./configure --prefix=/usr/local/nginx

提示缺少依赖包pcre
yum install -y pcre-devel ##安装pcre
./configure --prefix=/usr/local/nginx ##再次configure

提示缺少zlib
yum install -y zlib-devel ##安装zlib
./configure --prefix=/usr/local/nginx ##继续configure
安装常用功能
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
yum install -y openssl-devel
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
configure完成后,执行
make && make install ##编译&&安装
cd /usr/local/nginx/sbin
./nginx ##开启nginx服务
curl -I 172.25.9.1 ##访问 或firefox:http://172.25.9.1

netstat -antlpe 查看端口,默认端口80

./nginx -s stop ##关闭nginx服务
netstat -antlpe ##再次查看端口

可发现80端口已关闭
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##创建软链接,方便全局开启nginx
curl -I 172.25.4.1

设置nginx开机自启
vim /usr/lib/systemd/system/nginx.service
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload ##刷新服务列表
systemctl enable --now nginx ##开机启动nginx
二、源码编译安装php
下载php包,并解压
tar jxf php-7.4.12.tar.bz2
解压后进入文件夹

安装相关依赖性文件
yum install systemd-devel -y
yum install libxml2-devel.x86_64 -y
yum install sqlite-devel.x86_64 -y
yum install libcurl-devel.x86_64 -y
yum install libpng-devel.x86_64 -y
yum install oniguruma-devel-6.8.2-1.el7.x86_64.rpm oniguruma-6.8.2-1.el7.x86_64.rpm -y
执行
make && make install
三、nginx结合php-fpm
进入php主配置文件目录

cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
修改配置文件并保存

拷贝修改相关配置文件
cp php-7.4.12/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-fpm 设置为系统服务并开机启动
cd php-7.4.12/sapi/fpm/
cp php-fpm.service /usr/lib/systemd/system
vim /usr/lib/systemd/system/php-fpm.service
注释掉第21行

systemctl daemon-reload 刷新系统服务文件
systemctl start php-fpm.service 启动php-fpm (需要有nginx用户)
编辑nginx默认发布目录
vim /usr/local/nginx/html/index.php

编辑nginx主配置文件,允许运行.php文件
vim /usr/local/nginx/conf/nginx.conf

systemctl restart nginx ##重启服务nginx
此时使用浏览器访问 http:// 172.25.9.1/index.php 显示如下

三、安装phpmyadmin
mv phpMyAdmin-5.0.2-all-languages.zip /usr/local/nginx/html
yum install -y unzip
cd /usr/local/nginx/html/
ls
unzip phpMyAdmin-5.0.2-all-languages.zip
##将安装包移动到nginx发布目录中并解压

vim /usr/local/nginx/conf/nginx.conf
nginx -t 检测语法
nginx -s reload 刷新nginx服务
mv phpMyAdmin-5.0.2-all-languages myadmin ##修改phpmyadmin名称为myadmin
浏览器中访问 http://172.25.9.1/myadmin/ 显示如下

四、源码编译安装mysql数据库
下载 mysql-boost并安装
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
cd bld
安装依赖性文件
yum install ncurses-devel.x86_64 -y
yum install gcc-c++ -y
yum install bison -y
rm CMakeCache.txt
按照定制功能源码编译mysql
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连接mysql数据库
编辑mysql主配置文件
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci
修改环境变量
vim .bash_profile

source .bash_profile ##重新激活脚本
mkdir /data/mysql -p
chown mysql.mysql /data/mysql
chmod 750 /data/mysql
开启mysql服务
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
对mysql进行初始化
mysqld --initialize --user=mysql

此时生成了临时root密码用于下一步安全初始化mysql修改root密码
mysql_secure_installation ##安全初始化
安全初始化完成后,使用 mysql -p 即可进入mysql
套接字相关设置
vim /usr/local/php/etc/php.ini
1056 pdo_mysql.default_socket=/data/mysql/mysql.sock
1165 mysqli.default_socket = /data/mysql/mysql.sock
systemctl reload php-fpm 重启php-fpm
修改mysql权限
chmod 755 /data/mysql
通过浏览器访问 http://172.25.9.1/myadmin/index.php 并登陆,可得

本文详细介绍了在Linux环境下,如何源码编译安装nginx、php、mysql,并结合phpmyadmin进行使用。从配置编译选项、解决依赖问题,到设置开机自启,再到安装phpmyadmin和连接mysql数据库,每一步都清晰阐述,为Linux企业运维人员提供参考。

306

被折叠的 条评论
为什么被折叠?



