一,安装数据库
#1、创建用户
useradd mysql -s /sbin/nologin -M
#2、下载
cd /server/tools/
http://mirrors.163.com/mysql/Downloads/MySQL-5.7/
http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar
#3,解压,软连接
tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mkdir -p /application
mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql-5.7.26
ln -s /application/mysql-5.7.26/ /application/mysql
#4,卸载依赖包。
rpm -e --nodeps mariadb-libs
#5,配置文件/etc/my.cnf
touch /etc/my.cnf
cat>/etc/my.cnf<<EOF
[mysqld]
basedir = /application/mysql/
datadir = /application/mysql/data
socket = /tmp/mysql.sock
server_id = 1
port = 3306
log_error = /application/mysql/data/oldboy_mysql.err
[mysql]
socket = /tmp/mysql.sock
prompt = oldboy [\\d]>
EOF
#6,下载依赖包
yum install libaio-devel -y
#7,创建数据的文件
mkdir -p /application/mysql/data
chown -R mysql.mysql /application/mysql/
#8,初始化数据库
/application/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data
#9,配置启动服务
mkdir -p /etc/systemd/system/
cd /etc/systemd/system/
touch mysqld.service
cat>/etc/systemd/system/mysqld.service<<EOF
[Unit]
Description=MySQL Server by oldboy
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
#10,启动数据库
cd /application/mysql/support-files
systemctl start mysqld
systemctl enable mysqld
#11,配置环境变量登录
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
. /etc/profile
#12,测试数据库
mysql
quit
===============================
#13,修改密码
mysqladmin -u root password 'oldboy123'
#交互式登录:
# [root@web02 ~]# mysql -uroot -p
# Enter password:
#非交互登录:
#mysql -uroot -poldboy123
二,PHP安装
/root/php.sh
#1、安装PHP调用的库
yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y
yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y
#2,下载libiconv-1.16.tar.gz
cd /server/tools/
上传libiconv-1.16.tar.gz
tar zxf libiconv-1.16.tar.gz
cd libiconv-1.16
./configure --prefix=/application/libiconv
make
make install
cd ../
yum install libmcrypt-devel -y
yum install mhash -y
yum install mcrypt -y
#3,安装PHP
cd /server/tools/
tar xf php-7.3.5.tar.gz
cd php-7.3.5/
./configure \
--prefix=/application/php-7.3.5 \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/application/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--enable-opcache=no
make
make install
#测试
#[root@web02 /server/tools/php-7.3.5]# echo $?
#4,将nginx的用户和PHP的用户统一:nginx
cd /server/tools/php-7.3.5
useradd nginx -u 1111 -s /sbin/nologin -M
#id nginx
#uid=1111(nginx) gid=1111(nginx) 组=1111(nginx)
cat >/application/nginx/conf/nginx.conf<<EOF
user nginx nginx;
vim /application/nginx/conf/nginx.conf
worker_processes 1;
(编译的时候就改用nginx)
#5,配置php.ini(PHP解析器配置文件)
cd /server/tools/php-7.3.5/
#ls php.ini-*
#php.ini-development php.ini-production
cp php.ini-development /application/php/lib/php.ini
# ls -l /application/php/lib/php.ini
#6、配置PHP FPM
cd /application/php/etc/
# ls
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
# ls
cp www.conf.default www.conf
# ls
=========================
cd /server/tools/php-7.3.5
useradd nginx -u 1111 -s /sbin/nologin -M
[root@web01 /server/tools]#ln -s php-7.3.5 /application/php
cd /server/tools/php-7.3.5/
cp php.ini-development /application/php/lib/php.ini
cd /application/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
cp www.conf.default www.conf
=======================
#7、启动PHP服务
/application/php/sbin/php-fpm
# netstat -lntup|grep php-fpm
#8、开机自启动
cat >>/etc/rc.local<<EOF
/application/nginx/sbin/nginx
/application/php/sbin/php-fpm
EOF
9,编写测试文件
[root@web02 /application/nginx/conf]# echo "<?php phpinfo(); ?>" > ../html/blog/test_info.php
[root@web02 /application/nginx/conf]# cat ../html/blog/test_info.php
<?php phpinfo(); ?>
在浏览器里可以看到
三,测试PHP连接mysql
[root@web02 /application/nginx/html/blog]# cat /application/nginx/html/blog/test_mysql.php
<?php
//$link_id=mysqli_connect('主机名','用户','密码');
$link_id=mysqli_connect('localhost','root','oldboy123') or mysql_error();
if($link_id){
echo "mysql successful by oldboy.\n";
}else{
echo mysql_error();
}
?>
[root@web02 /application/nginx/html/blog]# /application/php/bin/php /application/nginx/html/blog/test_mysql.php
mysql successful by oldboy.