系统环境
系统:CentOS7.4-1708-Mini
源码路径:/usr/local/src/
安装路径:/usr/local/
依赖软件:zlib, openssl, c-ares, curl, libiconv, libmcrypt, mhash, mcrypt, icu, libxml2, libxslt, libjpeg, libpng, libwebp, freetype2, libXpm, libgd
修复:pycurl (安装curl导致yum不能使用,pycurl库文件问题)
准备工作
基础环境
yum -y install gcc gcc-c++ vim wget ntpdate lrzsz python-devel patch \
unzip autoconf bzip2-devel
mkdir /soft
修改时区
rm -f /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
关闭selinux
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
时间同步
ntpdate ntp.aliyun.com && hwclock -w
echo "*/20 * * * * $(which ntpdate) pool.ntp.org > /dev/null 2>&1 && \
$(which hwclock) -w" >> /var/spool/cron/root
chmod 600 /var/spool/cron/root
安装依赖环境
zlib
1 | # 下载 解压 |
openssl
1 | # 下载 解压 |
C-ares
1 | # 下载 解压 |
curl
1 | # 下载 解压 |
pycurl
修复安装curl导致yum异常
1 | # 下载 解压 |
libiconv
1 | # 下载解压 |
libmcrypt
1 | # 下载 解压 |
mhash
1 | # 下载 解压 |
mcrypt
1 | # 下载 解压 |
ICU
1 | # 下载 解压 |
libxml2
1 | # 下载 解压 |
libxslt
1 | # 下载 解压 |
libjpeg
1 | # 下载 解压 |
libpng
1 | # 下载 解压 |
libwebp
1 | # 下载 解压 |
freetype2
1 | # 下载 解压 |
libXpm
1 | # 下载 解压 |
libgd
1 | # 下载 解压 |
安装php
创建运行用户
run_user=www
useradd -M -s /sbin/nologin ${run_user}
安装
1 | # 下载 解压 |
配置php.ini
创建php.ini配置文件
mkdir /usr/local/php/etc/php.d
/bin/cp php.ini-production /usr/local/php/etc/php.ini
优化php.ini参数
1 | # 获取系统内存参数 |
配置php-opcache
创建配置文件
1 | cat <<EOF > /usr/local/php/etc/php.d/02-opcache.ini |
配置php-fpm
创建服务
/bin/cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
创建php-fpm配置文件
1 | cat <<EOF > /usr/local/php/etc/php-fpm.conf |
php-fpm
优化
1 | if [ $Mem -le 3000 ]; then |
安装nginx
准备工作
# 创建运行用户
run_user=www
id -u ${run_user} >/dev/null 2>&1
[ $? -ne 0 ] && useradd -M -s /sbin/nologin ${run_user}
# 创建数据目录,权限
mkdir -p /data/wwwlogs/
chmod 640 /data/wwwlogs/
mkdir -p /data/wwwroot/default/
chmod 640 /data/wwwroot/default/ -R
chown www.www /data/wwwroot/default/ -R
安装
1 | cd /soft |
配置服务
1 | cat <<'EOF' >/etc/init.d/nginx |
nginx配置文件
1 | cat <<'EOF' >/usr/local/nginx/conf/nginx.conf |
nginx-proxy
1 | cat > /usr/local/nginx/conf/proxy.conf << EOF |
nginx-log
1 | cat > /etc/logrotate.d/nginx << EOF |
安装探针
1 | cd /soft |
服务管理
- 注意:如果使用
service
方式启动服务则只能以service
方式查看,关闭或重启服务 - 如果使用
systemctl
方式启动服务则只能以systemctl
方式查看,关闭或重启服务
service
service php-fpm stop
service php-fpm start
service php-fpm status
service php-fpm restart
service nginx stop
service nginx start
service nginx status
service nginx restart
systemctl
systemctl stop php-fpm
systemctl start php-fpm
systemctl status php-fpm
systemctl restart php-fpm
systemctl stop nginx
systemctl start nginx
systemctl status nginx
systemctl restart nginx
一键安装脚本
1 |
|