一、环境准备

操作系统:CentOS_Server_7.5_x64_1804.iso

部署组件:yasm+libmcrypt+libvpx+tiff+libpng+freetype+jpeg+libgd+t1lib+libzip+php

二、操作步骤:

2.0.安装依赖组件

[root@localhost ~]# yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel fontconfig fontconfig-devel gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* mpfr ntp patch perl php-common php-gd policycoreutils nasm nasm* wget libicu-devel glibc-devel glib2 glib2-devel krb5-devel libidn bison automake libevent libtool-ltdl* libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel python-devel openssl openssl-devel

2.1.安装yasm库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf yasm-1.3.0.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/yasm-1.3.0/

[root@localhost yasm-1.3.0]# ./configure --prefix=/usr/local/data/yasm

[root@localhost yasm-1.3.0]# make

[root@localhost yasm-1.3.0]# make install

2.2.安装libmcrypt库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf libmcrypt-2.5.8.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/libmcrypt-2.5.8/

[root@localhost libmcrypt-2.5.8]# ./configure --prefix=/usr/local/data/libmcrypt

[root@localhost libmcrypt-2.5.8]# make

[root@localhost libmcrypt-2.5.8]# make install

[root@localhost libmcrypt-2.5.8]# cd libltdl/

[root@localhost libltdl]# ./configure --enable-ltdl-install

[root@localhost libltdl]# make

[root@localhost libltdl]# make install

2.3.安装libvpx库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf libvpx-1.8.0.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/libvpx-1.8.0/

[root@localhost libvpx-1.8.0]# ./configure --prefix=/usr/localo/data/libvpx --enable-shared --enable-vp9

[root@localhost libvpx-1.8.0]# make

[root@localhost libvpx-1.8.0]# make install

2.4.安装tiff库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf tiff-4.0.9.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/tiff-4.0.9/

[root@localhost tiff-4.0.9]# ./configure --prefix=/usr/local/data/tiff --enable-shared

[root@localhost tiff-4.0.9]# make

[root@localhost tiff-4.0.9]# make install

2.5.安装libpng库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf libpng-1.6.37.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/libpng-1.6.37

[root@localhost libpng-1.6.37]# ./configure --prefix=/usr/local/data/libpng --enable-shared

[root@localhost libpng-1.6.37]# make

[root@localhost libpng-1.6.37]# make install

2.6.安装freetype库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf freetype-2.9.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/freetype-2.9

[root@localhost freetype-2.9]# ./configure --prefix=/usr/local/data/freetype --enable-shared

[root@localhost freetype-2.9]# make

[root@localhost freetype-2.9]# make install

2.7.安装jpeg库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf jpegsrc.v9c.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/jpeg-9c/

[root@localhost jpeg-9c]# ./configure --prefix=/usr/local/data/jpeg9 --enable-shared --enable-static

[root@localhost jpeg-9c]# make

[root@localhost jpeg-9c]# make install

2.8.安装libgd库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf libgd-2.2.5.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/libgd-2.2.5/

[root@localhost libgd-2.2.5]#
./configure \
--prefix=/usr/local/data/libgd \
--enable-shared \
--with-jpeg=/usr/local/data/jpeg9 \
--with-png=/usr/local/data/libpng \
--with-freetype=/usr/local/data/freetype \
--with-fontconfig=/usr/local/data/freetype \
--with-xpm=/usr/ \
--with-tiff=/usr/local/data/tiff \

[root@localhost libgd-2.2.5]# make

[root@localhost libgd-2.2.5]# make install

2.9.安装t1lib库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf t1lib_5.1.2.orig.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/t1lib-5.1.2/

[root@localhost t1lib-5.1.2]# ./configure --prefix=/usr/local/data/t1lib --enable-shared

[root@localhost t1lib-5.1.2]# make without_doc

[root@localhost t1lib-5.1.2]# make install

2.10.安装libzip库

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf libzip-1.5.2.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/libzip-1.5.2/

[root@localhost libzip-1.5.2]# mkdir build

[root@localhost libzip-1.5.2]# cd build/

[root@localhost build]# cmake ..

[root@localhost build]# make

[root@localhost build]# make install

2.11.函数库文件连接

[root@linuxprobe src]# ln -s /usr/lib64/libltdl.so /usr/lib/libltdl.so

[root@linuxprobe src]# cp -frp /usr/lib64/libXpm.so* /usr/lib/

2.12.PHP服务安装部署

2.12.1.创建PHP用户组和用户

[root@localhost ~]# groupadd www

[root@localhost ~]# useradd -r -g www www

2.12.2.添加配置文件

[root@localhost ~]# vim /etc/ld.so.conf

/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64

[root@localhost ~]# ldconfig

2.12.3安装php包

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar -xzf php-7.3.8.tar.gz -C /usr/local/data/

[root@localhost src]# cd /usr/local/data/php-7.3.8/

[root@localhost php-7.3.8]# export LD_LIBRARY_PATH=/usr/local/data/libgd/lib

[root@localhost php-7.3.8]#
./configure --prefix=/usr/local/data/php7 \
--with-config-file-path=/usr/local/data/php7/etc \
--with-mysqli=/usr/local/data/mysql/bin/mysql_config \
--with-mysql-sock=/tmp/mysql.sock \
--with-pdo-mysql=/usr/local/data/mysql \
--with-libxml-dir=/usr/local/data/libxml2 \
--with-gd=/usr/local/data/libgd \
--with-png-dir=/usr/local/data/libpng \
--with-jpeg-dir=/usr/local/data/jpeg9 \
--with-freetype-dir=/usr/local/data/freetype \
--with-xpm-dir=/usr/lib64 \
--with-zlib-dir=/usr/local/data/zlib \
--with-iconv \
--enable-libxml \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-opcache \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--enable-ftp \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--enable-ctype \
--enable-mysqlnd

[root@localhost php-7.3.8]# make

[root@localhost php-7.3.8]# make install

2.13.配置PHP文件

2.13.1.复制php配置文件到安装目录

[root@localhost php-7.3.8]# cp php.ini-development /usr/local/data/php7/etc/php.ini

[root@localhost php-7.3.8]# cp /usr/local/data/php7/etc/php-fpm.conf.default /usr/local/data/php7/etc/php-fpm.conf

[root@localhost php-7.3.8]# cp /usr/local/data/php7/etc/php-fpm.d/www.conf.default /usr/local/data/php7/etc/php-fpm.d/www.conf

2.13.2.修改PHP.ini配置文件

[root@localhost php-7.3.8]# vim /usr/local/data/php7/etc/php.ini

cgi.force_redirect = 1      修改为0
expose_php = On          修改为Off
short_open_tag = Off       修改为On
max_execution_time = 30      修改为300
max_input_time = 60         修改为300
memory_limit = 128M
post_max_size = 8M          修改为32M
date.timezone = Asia/Shanghai  添加

#设置OPcache缓存

[root@localhost php-7.3.8]# vim /usr/local/data/php7/etc/php.ini

[opcache]
zend_extension=/usr/local/data/php7/lib/php/extensions/no-debug-non-zts-20180731/opcache.so            添加此目录文件
opcache.enable_cli=0           修改为1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000   修改为4000
opcache.revalidate_freq=2         修改为1
opcache.fast_shutdown=1          添加

#设置php安全函数

[root@localhost php-7.3.8]# vim /usr/local/data/php7/etc/php.ini

disable_functions =
修改为:
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
或者通配使用:
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru

2.13.3.修改www.conf配置文件

[root@localhost php-7.3.8]# vim /usr/local/data/php7/etc/php-fpm.d/www.conf

user = nginx                   把www修改为nginx
group = nginx                  把www修改为nginx
listen.backlog = 511           取消注释并修改为 -1
listen.owner = www            取消注释
listen.group = www            取消注释
listen.mode = 0660            取消注释
listen.allowed_clients = 127.0.0.1    取消注释
pm = dynamic
pm.max_children = 5            修改为180
pm.start_servers = 2           修改为50
pm.min_spare_servers = 1         修改为50
pm.max_spare_servers = 3         修改为180
request_slowlog_timeout = 0        修改为50
request_terminate_timeout = 0       修改为120
slowlog = var/log/slow.log

2.13.4.修改php-fpm.conf配置文件

[root@localhost php-7.3.8]# vim /usr/local/data/php7/etc/php-fpm.conf

pid = /usr/local/data/php7/var/run/php-fpm.pid               取消注释修改路径
error_log = /usr/local/data/php7/var/log/php-fpm.log            取消注释修改路径

2.13.5.创建system系统单元文件php-fpm启动脚本

[root@localhost php-7.3.8]# vim /usr/lib/systemd/system/php-fpm.service

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/usr/local/data/php7/var/run/php-fpm.pid
ExecStart=/usr/local/data/php7/sbin/php-fpm --nodaemonize --fpm-config /usr/local/data/php7/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

2.13.6.设置PHP环境变量

[root@localhost php-7.3.8]# vim /etc/profile

export PATH=/usr/local/data/php7/bin:/usr/local/data/php7/sbin:$PATH

[root@localhost php-7.3.8]# source /etc/profile

2.13.7.启动php-fpm服务并加入开机自启动

[root@localhost php-7.3.8]# systemctl enable php-fpm.service

[root@localhost php-7.3.8]# systemctl restart php-fpm.service

2.13.8.配置nginx.conf文件

[root@localhost ~]# vim /usr/local/data/nginx/conf/nginx.conf

#修改Nginx运行组为nginx nginx;必须与/usr/local/data/php/etc7/www.conf中的user,group配置相同,否则php运行出错;
#
user nginx nginx;
 
#找到以下行,将location到大括号,在index后面添加index.php;
#access_log logs/host.access.log main;
#
location / {
root html;
index index.html index.htm index.php;
}

#找到以下行,将location到大括号的#都删掉同时修改SCRIPT_FILENAME后面的路径。
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
 location ~ \.php$ {
root html;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME /usr/local/data/nginx/html$fastcgi_script_name;
 include fastcgi_params;
 }

2.13.9.创建php测试文件

[root@localhost php7]# vim /usr/local/data/nginx/html/index.php

<?php phpinfo(); ?>

[root@localhost php-7.3.8]# systemctl restart nginx

[root@localhost php-7.3.8]# systemctl restart php

2.13.10.通过浏览器访问服务器IP/index.php地址

http://IP/index.php

03.LNMP架构-PHP源码包编译部署详细步骤的更多相关文章

  1. 02.LNMP架构-MySQL源码包编译部署详细步骤

    操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Cmake+Boost+MySQL 操作步骤: 一.安装依赖组件 [root@localhost ~]# yum -y ...

  2. 01.LNMP架构-Nginx源码包编译部署详细步骤

    操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Pcre+Zlib+Openssl+Nginx 操作步骤: 一.创建目录 [root@localhost ~]# mk ...

  3. LNMP架构的源码编译以及yum安装

    LNMP架构的源码编译以及yum安装 目录 LNMP架构的源码编译以及yum安装 一.LNMP架构的编译安装 1. 安装nginx服务 (1)关闭防火墙 (2)安装依赖包 (3)创建运行用户 (4)编 ...

  4. 15.LNMP架构的源码编译

    LNMP架构的源码编译 目录 LNMP架构的源码编译 编译安装 Nginx 服务 1.关闭防火墙 2.安装相关依赖包 3.创建运行用户 4.解压软件包及配置编译安装 5.优化路径 6.将Nginx 加 ...

  5. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...

  6. CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作

    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614   使用yum安装的MySQL一般版本比较旧,但 ...

  7. LAMP 环境搭建之源码包编译安装

    mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46    Apache版本2.4.7  PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...

  8. CentOS 7.4 使用源码包编译安装MySQL 5.7.20

    使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...

  9. PHP-5.6.8 源码包编译安装

    一.下载源码包后,进行解压 [root@www home]# .tar.bz2 gzip: stdin: not in gzip format tar: Error is not recoverabl ...

随机推荐

  1. Tomcat修改源码,重新编译

    源码和编译的区别:源码不能直接运行,是人读的,而编译后的程序是计算机可以读的.所以它们是不同的语言.

  2. RxJava学习总结

    1. 概念 Rx是微软.NET的一个响应式扩展.Rx借助可观测的序列提供一种简单的方式来创建异步的,基于事件驱动的程序.Rx就是一种响应式编程,来创建基于事件的异步程序RxJava是一个在 Java ...

  3. 有关于log4j详解

    Log4j记录日志使用方法 一.什么是log4j Log4J是Apache的一个开放源代码的项目.通过使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器, ...

  4. 29 August

    P1352 Bosses' Masquerade 树形DP模板. #include <cstdio> #include <algorithm> using namespace ...

  5. ubuntu 16.4下hadoop配置伪分布式时出现的坑

    在ubuntu16.4下spark的单机/伪分布式配置我在此就不在一一赘述,详情请点击如下连接: Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 我出现问题是 ...

  6. Oracle11g数据库在Win系统下的安装

    首先将从Oracle官网下载的两个安装包解压到同一个文件夹下,比如解压到database. 点击setup进行安装. (1)配置安全更新 选择是(不指定邮件) (2)安装选项,选择创建和配置数据库. ...

  7. vue-wacth监听事件

    2019-08-05   0:20 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化. 以下实例通过使用 watch 实现计数器:(此时我就想了一下,好像绑定点击事件,也 ...

  8. TCP 为什么是三次握手,而不是两次或四次?

    记得第一次看TCP握手连接的时候,有同样的疑问,我的疑问是,为何不是两次呢?后来随着对网络的理解深入,明白TCP报文是交由IP网络来负责运输,IP网络并不能保证TCP报文到达目的地,既然IP网络是指望 ...

  9. jmeter动态修改线程组参数

    jmeter非gui模式修改线程属性进行性能测试 在使用JMeter进行性能测试自动化时,如果按照平常的非Gui模式就是脚本每次修改参数都需要在gui模式下修改保存之后,然后在非gui模式之后运行,这 ...

  10. 机器学习实战笔记-11-Apriori与FP-Growth算法

    Apriori算法 优点:易编码实现:缺点:大数据集上较慢:适用于:数值型或标称型数据. 关联分析:寻找频繁项集(经常出现在一起的物品的集合)或关联规则(两种物品之间的关联关系). 概念:支持度:数据 ...