centOS6.6 编译安装lnmpPHP 7.0.9+Nginx1.9.9+MySQL5.7.15

一、系统约定
源代码位置:/usr/local/src

安装位置:/usr/local/软件名字
二、软件下载
(所需软件几乎可以全部从搜狐镜像站http://mirrors.sohu.com/下载,速度快)
1、下载nginx(目前稳定版)
[root@bogon src]# wget http://nginx.org/download/nginx-1.9.9.tar.gz

2、下载pcre (支持nginx伪静态)
[xuj@bogon ~]$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

3、下载MySQL
[root@bogon src]# wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15.tar.gz
http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.14.tar.gz

4、下载php
[root@bogon src]# wget http://mirrors.sohu.com/php/php-7.0.9.tar.gz

5、下载cmake(MySQL编译工具)
[root@bogon src]# wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz

6、下载libmcrypt(PHPlibmcrypt模块)
http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

7、下载GD库安装包

[root@bogon src]# wget https://bitbucket.org/libgd/gd-libgd/downloads/libgd-2.1.1.tar.gz

http://download.csdn.net/download/xujunabc999/9629853 下载完用winscp软件上传

三、安装过程

  1. 安装cmake
    cd /usr/local/src
    tar zxvf cmake-2.8.8.tar.gz
    cd cmake-2.8.8
    ./configure
    make #编译
    make install #安装
  2. 安装mysql
    如果已经安装mysql,安装前请先卸载干净
    MySQL卸载教程 http://www.jb51.cc/article/p-mctuvqjf-st.html
    mysql安装教程 http://www.jb51.cc/article/p-znnrxyah-st.html
  3. 查看是否安装过pcre

    卸载 yum remove pcre
    [root@bogon xuj]# yum remove pcre-devel-7.8-7.el6.i686
    yum remove pcre-7.8-7.el6.i686
    cd /usr/local/src
    mkdir /usr/local/pcre #创建安装目录
    tar zxvf pcre-8.39.tar.gz
    cd pcre-8.39
    ./configure –prefix=/usr/local/pcre #配置
    make
    make install
  4. 安装 nginx
    cd /usr/local/src
    groupadd www #添加www组
    useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
    tar zxvf nginx-1.2.3.tar.gz
    cd nginx-1.2.3
    ./configure –prefix=/usr/local/nginx –without-http_memcached_module –user=www –group=www –with-http_stub_status_module –with-openssl=/usr/ –with-pcre=/usr/local/src/pcre-8.39
    注意:–with-pcre=/usr/local/src/pcre-8.39指向的是源码包解压的路径,而不是安装的路径,否则会报错
    make
    make install
    /usr/local/nginx/sbin/nginx #启动nginx
    设置nginx开启启动
    vi /etc/rc.d/init.d/nginx #编辑启动文件,下载并拷贝http://download.csdn.net/detail/xujunabc999/9634045内容
    :wq! #保存退出
    chmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限
    chkconfig nginx on #设置开机启动
    /etc/rc.d/init.d/nginx restart
    service nginx restart
  5. 安装libmcrypt
    cd /usr/local/src
    tar zxvf libmcrypt-2.5.8.tar.gz #解压
    cd libmcrypt-2.5.8 #进入目录
    ./configure #配置
    make #编译
    make install #安装
  6. 安装gd
    cd /usr/local/src
    tar zxvf libgd-2.1.1.tar.gz #解压
    cd libgd-2.1.1 #进入目录
    yum install libpng libpng-devel libjpeg-turbo libjpeg-turbo-devel freetype freetype-devel gd
    [root@bogon libgd-2.1.1]# ./configure –enable-m4_pattern_allow –prefix=/usr/local/gd –with-jpeg=/usr/lib –with-png=/usr/local –with-xpm=/usr/lib –with-freetype=/usr/local –with-fontconfig=/usr/include/fontconfig #配置
    libpng ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.25.tar.gz
    libjpeg https://sourceforge.net/projects/libjpeg/files/libjpeg/6b/jpegsrc.v6b.tar.gz
    freetype http://download.savannah.gnu.org/releases/freetype/freetype-2.7.tar.gz
    fontconfig https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.12.1.tar.gz
    make #编译
    make install #安装
  7. cd /usr/local/src
    tar -zvxf php-7.0.9.tar.gz
    cd php-7.0.9
    mkdir -p /usr/local/php7 #建立php安装目录
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-mysqlnd  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd=/usr/local/gd --with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/lib --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization  --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl  --enable-ctype

可以通过./configure -help查看支持的扩展,目前PHP7的configure的参数没有–with-mysql参数,只支持–with-mysqli和–with-pdo-mysql
安装缺少的组件(若没有提示缺少组件,请忽略),如:

yum install libxml2 
yum install libxml2* -y  
yum install openssl-dev
yum install libcurl3-openssl-dev
yum install openssl-devel.i686
yum install openssl-perl.i686
yum install libcurl-devel.i686
yum install libjpeg-turbo-devel.i686
yum install libpng.i686
yum install libpng-devel.i686
yum install freetype-devel
yum install php-gd

make #编译
make install #安装
cp php.ini-production /usr/local/php7/etc/php.ini #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php7/etc/php.ini /etc/php.ini #添加软链接
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
vi /usr/local/php7/etc/php-fpm.conf #编辑
user = www #设置php-fpm运行账号为www
group = www #设置php-fpm运行组为www
pid = run/php-fpm.pid #取消前面的分号
设置 php-fpm开机启动
cp /usr/local/src/php-7.0.9/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动
vi /usr/local/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_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,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
列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
找到:;date.timezone =
修改为:date.timezone = PRC #设置时区
找到:expose_php = On
修改为:expose_php = OFF #禁止显示php版本的信息
找到:short_open_tag = Off
修改为:short_open_tag = ON #支持php短标签

8.配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php7/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.php index.html index.htm; #添加index.php

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 $document_root$fastcgi_script_name;
include fastcgi_params;
}

/etc/init.d/nginx restart #重启nginx

  1. 安装过程可能的错误
    9.1 出错:CMake Error at cmake/boost.cmake:81 (MESSAGE):
    下载 http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
    ,放到/usr/local/boost目录下,然后在cmake后面加选项-DWITH_BOOST=/usr/local/boost
[root@bogon mysql-5.7.15]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

9.2 出错:Curses library not found. Please install appropriate package

– Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu,package name is libncurses5-dev,on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:118 (FIND_CURSES)
cmake/readline.cmake:214 (MYSQL_USE_BUNDLED_READLINE)
CMakeLists.txt:257 (MYSQL_CHECK_READLINE)

– Configuring incomplete,errors occurred!

解决办法:

[root@bogon mysql-5.7.15]# rm -f CMakeCache.txt
yum -y install ncurses-devel

然后再使用cmake编译就可以了.

9.3 ERROR:. No pool defined at least one pool section must be specified in config file
ERROR: failed to post process the configuration
ERROR: FPM initialization failed

solution:
在/usr/local/php7/etc/php-fpm.d目录下
cp www.conf.default www.conf

参考:
http://www.osyunwei.com/archives/5235.html
http://blog.csdn.net/u014595668/article/details/50188127

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程, ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属