【linux】centos6.9LNMP环境搭建(编译安装)

版本

  • centos-6.9
  • nginx-1.17.5
  • mysql-5.6.33
  • php-5.6.33

安装全部依赖

1
yum install -y make gcc gcc-c++ zlib zlib-devel pcre pcre-devel openssl openssl-devel libffi-devel libtool curl-devel expat-devel gettext-devel perl-ExtUtils-MakeMaker autoconf libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel libmcrypt-devel libicu-devel sqlite-devel oniguruma-devel readline-devel ncurses ncurses-devel perl cmake libaio libaio-devel libtirpc-devel rpcgen

Nginx 安装

解压安装包

1
tar -zxvf nginx-1.17.5.tar.gz

编译安装

1
cd nginx-1.17.5
1
./configure --prefix=/usr/local/nginx-1.17.5
1
make && make install

Mysql 安装

添加 MySQL 用户和组

1
groupadd -r mysql
1
useradd -r -g mysql mysql

创建 MySQL 所需要的目录

1
mkdir -p /usr/local/mysql
1
mkdir -p /data/mysqldb

解压安装包

1
tar -zxvf mysql-5.6.33.tar.gz

编译安装

1
cd mysql-5.6.33
1
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
1
make && make install

修改 mysql 目录所有者和组

1
chown -R mysql:mysql /usr/local/mysql
1
chown -R mysql:mysql /data/mysqldb

复制 mysql 服务启动配置文件

1
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

mysql 配置文件修改

1
vim /etc/my.cnf

添加:

1
2
3
datadir = /data/mysqldb
innodb_file_per_table = ON
skip_name_resolve = ON

复制 mysql 服务启动脚本及加入 PATH 路径

1
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

新建 /etc/profile.d/mysql.sh ,添加以下内容保存退出,source 一下

1
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
1
source /etc/profile.d/mysql.sh

拷贝 mysql 命令目录到系统目录,并执行 mysql 初始化的 data 存放位置的准备

1
cp /usr/local/mysql/bin/mysql /usr/bin/
1
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb --basedir=/usr/local/mysql

启动 mysql 服务并加入开机自启动

1
service mysqld start
1
chkconfig mysqld on

PHP 安装

解压安装包

1
tar -zxvf php-5.6.33.tar.gz

编译安装

1
cd php-5.6.33
1
./configure --prefix=/usr/local/php-5.6.33 --with-config-file-path=/usr/local/php-5.6.33/etc --enable-fpm --with-mysql --with-mysqli --with-pdo-mysql --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-zlib --with-openssl
1
make && make install

复制 配置文件

1
cp php.ini-production /usr/local/php-5.6.33/etc/php.ini

配置环境变量(nginx / php / php-fpm)

1
vim /etc/profile

添加:

1
2
3
4
# nginx
export PATH=$PATH:/usr/local/nginx-1.17.5/sbin
# php / php-fpm
export PATH=$PATH:/usr/local/php-5.6.33/bin:/usr/local/php-5.6.33/sbin

使配置生效:

1
source /etc/profile

PHP 扩展安装(mbstring 为例)

进入安装包的扩展目录

假设安装包解压的目录在 /opt/ 下,安装 mbstring 扩展

1
cd /opt/php-5.6.33/ext/mbstring

生成 configure 文件

1
phpize

编译安装

指定 php-config 目录

1
./configure --with-php-config=/usr/local/php-5.6.33/bin/php-config
1
make && make install

配置 php.ini

1
vim /usr/local/php-5.6.33/etc/php.ini

添加:

1
extension=/usr/local/php-5.6.33/lib/php/extensions/no-debug-non-zts-20131226/mbstring.so

/usr/local/php-5.6.33/lib/php/extensions/no-debug-non-zts-20131226/ 要根据编译安装后的路径填写

配置中扩展路径可以单独配置,这样配置扩展就不需要重复配置路径了,只需要配置扩展名

1
2
3
extension_dir=/usr/local/php-5.6.33/lib/php/extensions/no-debug-non-zts-20131226/
extension=mbstring.so
extension=扩展名