Page

[LNMP]就这样把周末耗在了安装与配置lnmp这里了

775Anson17-05-14


第一次独立编译安装lnmp(centos6.9,nginx1.12,mysql5.6,php5.6),记录一下这次的艰辛历程。 虽然可以直接用一键lnmp安装脚本,可是迟早都要学会独立编译,刚好最近把阿里云的windows server 2008换成了centos6.9,为何不趁热打铁呢?

安装环境:阿里云centos

LSB Version:	:base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch
Distributor ID:	CentOS
Description:	CentOS release 6.9 (Final)
Release:	6.9
Codename:	Final


安装所需程序:

libiconv-1.15.tar.gz     (字符串转码函数iconv)
libmcrypt-2.5.7.tar.gz   (第三方加密库)
mhash-0.9.9.9.tar.gz     (第三方加密库)
mcrypt-2.6.8.tar.gz      (第三方加密库)
cmake-3.8.1.tar.gz
mysql-5.6.24.tar.gz
php-5.6.30.tar.gz
nginx-1.12.0.tar.gz


第一步、更换yum源-----阿里云更换yum源教程


第二步、更新yum软件

yum -y update


第三步、安装常规依赖包

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,libmcrypt,mhash,mcrypt

tar -zxvf libiconv-1.15.tar.gz.tar.gz && cd libiconv-1.15.tar.gz
./configure --prefix=/usr/local/libiconv
make && make install
tar -zxvf libmcrypt-2.5.7.tar.gz && cd libmcrypt-2.5.7
./configure
make && make install
tar -zxvf mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9.tar.gz
./configure
make && make install
tar -zxvf mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8
./configure --with-libmcrypt-prefix=/usr/local
make && make install


第五步、安装cmake,5.5以上版本的mysql需要使用cmake编译安装

tar -zxvf cmake-3.8.1.tar.gz && cd cmake-3.8.1
./bootstrap 
make && make install


第六步、安装MySQL

groupadd mysql && useradd -g mysql -M mysql     #创建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          #修改目录所属用户组和用户

cp support-files/my-default.cnf /etc/my.cnf    #复制默认配置文件

vim /etc/my.cnf

#在[mysqld]中添加:
datadir = /usr/local/mysql/data                #数据库文件路径

#执行初始化脚本,创建系统自带的数据库和表
/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

service mysqld start
chkconfig mysqld on

echo 'PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile    #临时添加环境变量
export PATH

source /etc/profile      #使环境变量永久生效


第七步、安装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=/usr/local/php/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

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm        #加入系统服务

chmod +x /etc/init.d/php-fpm
chkconfig php-fpm on

groupadd www && useradd -d /home/www -g www www        #创建www用户组和用户

service php-fpm start

echo 'PATH=/usr/local/php/bin:$PATH'>>/etc/profile     #添加php环境变量
export PATH
source /etc/profile


第八步、安装nginx

tar -zxvf nginx-1.12.0.tar.gz && cd nginx-1.12.0

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

然后添加nginx启动管理脚本,参考nginx官方配置

chmod +x /etc/init.d/nginx
service nginx start
chkconfig nginx on


最后、LNMP已经基本搭建完成了


下一篇:nginx.conf的主机配置以及虚拟目录配置




原文:简书系列教程

2017-5-14