centos6.8源码包mysql_CentOS6.8源码包编译安装搭建LNMP--Linux+Nginx+MySQL+PHP环境

常规依赖包安装

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

有了这个之后就可以在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 ..

如果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'就行啦

MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具

tar zxvf cmake-3.7.2.tar.gz

cd cmake-3.7.2

./bootstrap && make && make install

cd..

#卸载旧版本

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 ..

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

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-pcre

make && make install

接下来添加Nginx启动管理脚本/etc/init.d/nginx

关于启动脚本请参考链接Nginx启动管理脚本,修改脚本变量nginx="/usr/local/nginx/sbin/nginx",保险起见其它变量也尽量核对下

LNMP环境已搭建完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值