常规依赖包安装
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-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 openldap openldap-devel openldap-clients openldap-servers make zlib-devel pcre-devel openssl-devel libtool* git tree bison perl gd gd-devel
安装libiconv库
有了这个之后就可以在PHP里使用iconv函数来转换字符编码啦,比如想将字符串的编码从GBK转到UTF-8,就用: iconv('GBK', 'UTF-8', $str);
tar zxvf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure --prefix=/usr/local/libiconv make && make install cd ..
安装libmcrypt,mhash,mcrypt库
如果PHP自带的加密算法不能满足你的需求,就应该考虑第三方加密扩展库了(建议一定要装呀,自己写代码可能没用到,但是一些PHP框架可是要用到的,比如Laravel)。
按顺序安装libmcrypt,mhash,mcrypt
tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure make && make install cd .. tar jxvf mhash-0.9.9.9.tar.bz2 cd mhash-0.9.9.9 ./configure make && make install cd .. tar zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 ./configure make && make install cd ..
编译mcrypt如果报错:configure: error: *** libmcrypt was not found
echo '/usr/local/lib/'>>/etc/ld.so.conf ldconfig
编译mcrypt如果报错:/bin/rm: cannot remove 'libtoolT': No such file or directory
修改 configure 文件,找到RM='$RM'并改为RM='$RM -f'就行啦
安装CMake工具
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具
tar zxvf cmake-3.7.2.tar.gz cd cmake-3.7.2 ./bootstrap && make && make install cd..
安装MySQL
注意:安装mysql5.6.26如:https://www.cnblogs.com/pardis/articles/12206892.html
#卸载旧版本 rpm -e mysql --nodeps #创建mysql用户 groupadd mysql && useradd -g mysql -M mysql tar zxvf mysql-5.6.24.tar.gz cd mysql-5.6.24 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DENABLE_DOWNLOADS=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_DEBUG=0 \ -DMYSQL_MAINTAINER_MODE=0 \ -DWITH_SSL:STRING=bundled \ -DWITH_ZLIB:STRING=bundled make && make install #修改目录权限 chown -R mysql:mysql /usr/local/mysql #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可) cp support-files/my-default.cnf /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加下面一行 vi /etc/my.cnf datadir = /usr/local/mysql/data #添加MySQL数据库路径 #执行初始化配置脚本,创建系统自带的数据库和表 /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql #加入系统服务 cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld #启动mysql service mysqld start #开机启动 chkconfig mysqld on #加入环境变量 echo 'PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile export PATH #让配置生效 source /etc/profile #设置root密码,默认是没有密码的 /usr/local/mysql/bin/mysqladmin -uroot -p password cd ..
安装PHP
tar zxvf php-5.6.30.tar.gz cd php-5.6.30 ./configure \ --prefix=/usr/local/php \ --with-fpm-user=www --with-fpm-group=www \ --with-config-file-path=/etc \ --with-mhash --with-mcrypt --enable-bcmath \ --enable-mysqlnd --with-mysql --with-mysqli --with-pdo-mysql \ --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir \ --enable-fpm \ --enable-mbstring \ --enable-pcntl \ --enable-sockets \ --enable-opcache \ --with-openssl \ --with-zlib \ --with-curl \ --with-libxml-dir \ --with-iconv-dir make && make install #移动生成php-fpm配置文件 mv /usr/local/php/etc/php-fpm.conf.default /etc/php-fpm.conf #复制生成一份php配置文件 cp php.ini-production /etc/php.ini #将php-fpm加入系统服务 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #赋予执行权限 chmod +x /etc/init.d/php-fpm #开机启动 chkconfig php-fpm on #创建www用户 groupadd www && useradd -d /home/www -g www www #启动php-fpm service php-fpm start cd ..
如果编译报错:gcc: Internal error: Killed (program cc1),在编译参数后加
--disable-fileinfo
编辑/etc/profile将php加入环境变量(和前面mysql一样)
修改PATH=/usr/local/php/bin:/usr/local/mysql/bin:$PATH export PATH source /etc/profile
安装Nginx
tar zxvf nginx-1.10.2.tar.gz cd nginx-1.10.2 ./configure \ --user=www \ --group=www \ --prefix=/usr/local/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-http_ssl_module \ --with-pcremake && make install
接下来添加Nginx启动管理脚本/etc/init.d/nginx
关于启动脚本请参考链接Nginx启动管理脚本,修改脚本变量nginx="/usr/local/nginx/sbin/nginx",保险起见其它变量也尽量核对下
LNMP环境已搭建完毕。
浙公网安备 33010602011771号