一、web01服务器
把事先下载好的软件:libiconv-1.16.tar.gz、nginx-1.16.1.tar.gz、php-7.3.5.tar.gz放到/server/tools目录下。
1、制作一键安装Nginx脚本,把以下内容写入脚本install_nginx.sh
[root@web01/server/scripts]#vim install_nginx.sh
#1、编译安装
#①安装依赖环境
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
#②规范软件包存放路径
mkdir /server/tools
cd /server/tools
#<==下载软件包,事先下载好放到tools目录里
#wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar xf nginx-1.16.1.tar.gz
#进程使用的用户
useradd -s /sbin/nologin mifengweb -u 1002 -M
#③配置:
#<==建软件安装目录
mkdir /application/nginx-1.16.1
cd /server/tools/nginx-1.16.1
./configure --user=mifengweb --group=mifengweb --prefix=/application/nginx-1.16.1/ --with-http_stub_status_module --with-http_ssl_module --with-pcre
#验证是否配置成功:返回0代表正确
echo $?
#④编译:
#<==把代码编译成二进制文件的过程
make
#<==把软件拷贝到指定的位置
make install
#<==验证是否成功
#echo $?
#<==建立软连接,开发人员使用。
ln -s /application/nginx-1.16.1/ /application/nginx
#<==启动前检查配置文件语法
/application/nginx/sbin/nginx -t
#<==启动服务
/application/nginx/sbin/nginx
#⑤环境变量
echo 'export PATH="/application/nginx/sbin:$PATH"'>>/etc/profile
#<==查看是否成功写入环境变量
tail -1 /etc/profile
#生效
. /etc/profile
#<==验证是否成功
nginx -t
###设置开机启动>覆盖,>>追加
cp /etc/rc.d/rc.local /etc/rc.d/rc.local.ori
cat>>/etc/rc.d/rc.local<<EOF
/application/nginx/sbin/nginx
EOF
#分配执行权限
chmod +x /etc/rc.d/rc.local


2、制作一键安装php脚本,把以下内容写入脚本install_php.sh
[root@web01/server/scripts]#vim install_php.sh
#2、PHP(FastCGI)服务安装
#(1)检查安装PHP所需的lib库
#PHP程序在开发及运行时会调用诸如zlib、gd等函数库。
#rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
#rpm -qa freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
#如果没有请安装:
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
#仅缺少libiconw-devel,因为默认的yum源里没有此包,后面会编译安装。
#①安装libiconw-devel库
#<==下载到规范目录下,提前下好软件
cd /server/tools
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
tar zxf libiconv-1.16.tar.gz
cd /server/tools/libiconv-1.16
#安装
make
make install
#②安装libmcrypt库
#这是一个使用动态加载的模块化的libmcrypt,libmcrypt对于在程序运行时#添加/移除算法是有用的
#官网已经不再被支持,先配置第三方域名源,配置好就无需再配置
#wget -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install libmcrypt-devel -y
#③安装Mhash加密扩展库
#Mhash是基于离散数学原理不可逆向的PHP加密方式扩展库,其在默认情况#下不会开启。Mhash可以用#于创建校验数值,消息摘要,消息认证码,以#及无须原文的关键信息保存(密码)等。
yum install libmcrypt-devel -y
rpm -qa libmcrypt-devel -y
#④安装Mcrypt加密扩展库
#Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以将密
#文还原。可以说,Mcrypt#是PHP里面重要的加密支持扩展库,该库在默认#情况下不开启。
yum install mhash -y
rpm -qa mhash
#(2)安装PHP(FastCGI方式)服务
#①下载软件,安装前准备
cd /server/tools
#wget -q http://mirrors.sohu.com/php/php-7.3.5.tar.gz
ls -lsh php-7.3.5.tar.gz
tar xf php-7.3.5.tar.gz
cd /server/tools/php-7.3.5
mkdir -p /application/php7.3.5
#②编译参数
./configure \
--prefix=/application/php7.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=mifengweb \
--with-fpm-group=mifengweb \
--enable-ftp \
--enable-opcache=no
#备注:--with-fpm-user与--with-fpm-group的用户及组,最好和配置#Nginx时用户及组一致。
#③编译安装
make
make install
echo $?
#<==创建软连接
ln -s /application/php7.3.5/ /application/php
#(3)配置php.ini
cp /server/tools/php-7.3.5/php.ini-development /application/php/lib/php.ini
#(4)配置PHP服务(FastCGI模式)配置文件php-fpm.conf
cd /application/php/etc/
cp /application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf
cp /application/php/etc/php-fpm.d/www.conf.default /application/php/etc/php-fpm.d/www.conf
#(5)启动服务
/application/php/sbin/php-fpm
###设置开机启动>覆盖,>>追加
cat>>/etc/rc.d/rc.local<<EOF
/application/php/sbin/php-fpm
EOF
#分配执行权限
#chmod +x /etc/rc.d/rc.local





