在 CentOS7最小化 下的编译安装:Nginx 1.5.2 + PHP 5.5.7 + MySQL 5.6.10
2024-08-30 07:02:18
1、安装Nginx:
安装包目录
mkdir -p /Data/tgz
cd /Data/tgz
安装编译依赖
yum install wget
yum install pcre
yum install openssl*
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make
yum -y install gd gd2 gd-devel gd2-devel
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
ulimit -SHn 65535
perl语言兼容正则表达式,是一个用C语言编写的正则表达式函数
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz
tar zxvf pcre-8.32.tar.gz
cd pcre-8.32
./configure --prefix=/Data/apps/pcre
make && make install
cd ../
wget http://nginx.org/download/nginx-1.5.2.tar.gz
tar zxvf nginx-1.5..tar.gz
cd nginx-1.5.
./configure --user=www --group=www --prefix=/Data/apps/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/Data/tgz/pcre-8.32 --with-http_realip_module --with-http_image_filter_module
make
make install
cd ../
./configure
--user=www 设置nginx运行时以什么用户来运行worker进程(默认为nobody用户)
--group=www 设置nginx运行时以什么组来运行worker进程(默认为nobody组)
--prefix=/Data/apps/nginx 指明nginx的安装所在路径
--with-http_stub_status_module 启用 “server status” 页
--with-http_ssl_module 开启HTTP SSL模块,使NGINX可以支持HTTPS请求。这个模块需要已经安装了OPENSSL,在DEBIAN上是libssl
--with-pcre=/Data/tgz/pcre-8.32 指定 PCRE 库的源代码的路径
--with-http_realip_module 启用 ngx_http_realip_module
--with-http_image_filter_module nginx提供的集成图片处理模块 HttpImageFilterModule模块需要依赖gd-devel的支持,可以使用yum或apt-get方便地安装,如果未安装回报“/configure: error: the HTTP image filter module requires the GD library.”错误
nginx编译安装参数
2、安装 MySQL:
wget http://downloads.mysql.com/archives/mysql-5.6/mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.6.-linux-glibc2.-x86_64.tar.gz
mv mysql-5.6.-linux-glibc2.-x86_64 /Data/apps/mysql
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
mkdir -p /Data/data/mysql/data
yum install libaio
/Data/apps/mysql/scripts/mysql_install_db --basedir=/Data/apps/mysql --datadir=/Data/data/mysql/data --user=mysql sed -i "s#/usr/local/mysql#/Data/apps/mysql#g" /Data/apps/mysql/bin/mysqld_safe
3、安装php依赖库
php处理图形的扩展库,安装GD库前得先安装freetype、libpng、jpegsrc、zlib等关联库
mkdir -p /Data/apps/libs/
wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
tar zxvf jpegsrc.v9.tar.gz
cd jpeg-/
./configure --prefix=/Data/apps/libs --enable-shared --enable-static --prefix=/Data/apps/libs
make
make install
cd ../
wget http://prdownloads.sourceforge.net/libpng/libpng-1.6.2.tar.gz
tar zxvf libpng-1.6..tar.gz
cd libpng-1.6./
./configure --prefix=/Data/apps/libs
make
make install
cd ../
wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.gz
tar zxvf freetype-2.4..tar.gz
cd freetype-2.4./
./configure --prefix=/Data/apps/libs
make
make install
********************************** 报错 start ********************************* 当 make install 时总是: rm -f /usr/local/modules/freetype/include/freetype2/freetype/cache/* rmdir /usr/local/modules/freetype/include/freetype2/freetype/cache rm -f /usr/local/modules/freetype/include/freetype2/freetype/internal/* rmdir /usr/local/modules/freetype/include/freetype2/freetype/internal rmdir: ‘/usr/local/modules/freetype/include/freetype2/freetype/internal’: 没有那个文件或目录 make: [install] 错误 1 (忽略) /usr/bin/install -c -m 644 ./builds/unix/ft2unix.h \ /usr/local/modules/freetype/include/ft2build.h /usr/bin/install -c -m 644 ./builds/unix/ftconfig.h \ /usr/local/modules/freetype/include/freetype2/freetype/config/ftconfig.h /usr/bin/install -c -m 644 /opt/src/lamp/freetype-2.2.1/objs/ftmodule.h \ /usr/local/modules/freetype/include/freetype2/freetype/config/ftmodule.h /usr/bin/install -c -m 755 ./builds/unix/freetype-config \ /usr/local/modules/freetype/bin/freetype-config /usr/bin/install -c -m 644 ./builds/unix/freetype2.m4 \ /usr/local/modules/freetype/share/aclocal/freetype2.m4 /usr/bin/install -c -m 644 ./builds/unix/freetype2.pc \ /usr/local/modules/freetype/lib/pkgconfig/freetype2.pc (报错) 解决办法: mkdir /Data/apps/libs/include/freetype2/freetype/internal 需要在freetype的安装目录下创建internal 这个目录然后, make install ********************************** 报错 end *********************************
cd ../
php加密扩展库
wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?big_mirror=0"
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure --prefix=/Data/apps/libs
make
make install
cd libltdl/
./configure --prefix=/Data/apps/libs --enable-ltdl-install
make
make install
cd ../../
mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。
wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?big_mirror=0"
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure --prefix=/Data/apps/libs
make
make install
cd ../ vi /etc/ld.so.conf 添加:
/Data/apps/libs/lib 然后:
ldconfig
Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?big_mirror=0"
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
export LDFLAGS="-L/Data/apps/libs/lib -L/usr/lib"
export CFLAGS="-I/Data/apps/libs/include -I/usr/include"
touch malloc.h
./configure --prefix=/Data/apps/libs --with-libmcrypt-prefix=/Data/apps/libs
make
make install
cd ../
4、编译安装PHP 5.5
wget http://www.php.net/get/php-5.5.1.tar.gz/from/tw2.php.net/mirror tar zxvf php-5.5.1.tar.gz cd php-5.5.1/ export LIBS="-lm -ltermcap -lresolv" export DYLD_LIBRARY_PATH="/Data/apps/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64" export LD_LIBRARY_PATH="/Data/apps/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64" ./configure --prefix=/Data/apps/php --with-config-file-path=/Data/apps/php/etc --with-mysql=/Data/apps/mysql --with-mysqli=/Data/apps/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir=/Data/apps/libs --with-jpeg-dir=/Data/apps/libs --with-png-dir=/Data/apps/libs --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-mcrypt=/Data/apps/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts make make install cp php.ini-development /Data/apps/php/etc/php.ini cd ../
ln -s /Data/apps/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib mv /Data/apps/php/etc/php-fpm.conf.default /Data/apps/php/etc/php-fpm.conf
./configure
--prefix=/Data/apps/php 是指PHP的安装目录
--with-config-file-path=/Data/apps/php/etc php.ini文件位置
--with-mysql=/Data/apps/mysql 包含MySQL支持
--with-mysqli=/Data/apps/mysql/bin/mysql_config 包含MySQLi支持。参数为mysql_config的位置。
--with-iconv-dir
--with-freetype-dir=/Data/apps/libs
--with-jpeg-dir=/Data/apps/libs 打开对jpeg图片的支持
--with-png-dir=/Data/apps/libs 打开对png图片的支持
--with-zlib ##–-with-zlib-dir 打开zlib库的支持
--with-libxml-dir=/usr 打开libxml2库的支持
--enable-xml
--disable-rpath 禁用在搜索路径中传递其他运行库。
--enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-shmop
--enable-sysvsem
--enable-inline-optimization
--with-curl 打开curl浏览工具的支持
--enable-mbregex
--enable-fpm 打上php-fpm 补丁后才有这个参数,cgi方式安装的启动程序
--enable-mbstring 多字节,字符串的支持
--with-mcrypt=/Data/apps/libs 加密算法
--with-gd 打开gd库的支持
--enable-gd-native-ttf 支持TrueType字符串函数库
--with-openssl openssl的支持,加密传输时用到的
--with-mhash 加密算法
--enable-pcntl freeTDS需要用到的,可能是链接mssql 才用到
--enable-sockets 打开 sockets 支持
--with-xmlrpc 打开xml-rpc的c语言
--enable-zip 打开对zip的支持
--enable-soap
--enable-opcache
--with-pdo-mysql
--enable-maintainer-zts
php编译安装时的参数
5、编译安装PHP扩展
wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz tar zxvf autoconf-latest.tar.gz cd autoconf-2.69/ ./configure --prefix=/Data/apps/libs make make install cd ../
wget http://pecl.php.net/get/memcache-2.2.7.tgz tar zxvf memcache-2.2.7.tgz cd memcache-2.2.7/ export PHP_AUTOCONF="/Data/apps/libs/bin/autoconf" export PHP_AUTOHEADER="/Data/apps/libs/bin/autoheader" /Data/apps/php/bin/phpize ./configure --with-php-config=/Data/apps/php/bin/php-config make make install cd ../
打开 /Data/apps/php/etc/php.ini 查找 ; extension_dir = "ext"
在其后增加一行:
extension = "memcache.so"
原链接:http://zyan.cc/nginx_php_v7/
最新文章
- LeetCode[3] Longest Substring Without Repeating Characters
- atitit.attilax的软件 架构 理念.docx
- 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)
- vim 显示颜色脚本
- Spark GraphX学习资料
- windows7设置java的环境变量
- java Future 模式
- 使用javac编译zookeeper项目
- robotframework自动化系统:操作mysql数据库
- IE之页面加载慢.
- 卸载CentOS7-x64自带的OpenJDK并安装Sun的JDK7的方法
- FORTH 安装使用
- J2ee的13个规范
- Cocos2d-x 集成openinstall(Android)
- window系统中 mongodb创建用户名和密码
- HAProxy基础
- 解决java编译错误:编码GBK的不可映射字符
- 完整的一次 HTTP 请求响应过程(一)
- .net core Identity集成IdentityServer4 (1)基本操作
- Java设计模式之五 ----- 外观模式和装饰器模式