CentOS 7 搭建lnmp

一、源码安装Nginx

   步骤:

  • 下载依赖包:

          yum install pcre-devel yum install zlib zlib-devel yum install openssl openssl-devel

          yum -y install gcc gcc-c++ autoconf automake make

  • cd /usr/local/src

           wget http://nginx.org/download/nginx-1.16.0.tar.gz

  • 下载出来一个nginx-1.16.0的压缩包,用 tar -zxvf 来解压,会解压出来一个nginx-1.16.0

          tar -zxvf nginx-1.16.0.tar.gz

  • 创建/data/server/nginx目录文件夹

         mkdir -p /data/server/nginx

  • 将nginx-1.16.0移到/data/server/目录下  

       mv nginx-1.16.0 /data/server/

  • 然后cd /data/server/nginx-1.16.0
  • ls查看; 里边会有 configure ;执行这个: ./configure --prefix=/data/server/nginx
  • make
  • make install
  • 这几步可用echo $?检查是否正确
  • 最后 cd /data/server/nginx/sbin目录中执行nginx : ./nginx 
  • 如果不成功就查看ps aux | grep nginx
  • 杀掉进程,再次执行nginx就可以了

遇到的问题:问题1.启动nginx失败,提示端口占用

CentOS 7 搭建lnmp_第1张图片

解决方法:杀掉进程

问题2.防火墙未关闭

浏览器中输入:192.168.124.76,出现welcome to niginx 代表安装成功

CentOS 7 搭建lnmp_第2张图片

二、CentOS搭建PHP5.6

  • 安装依赖包:

       本文是基于Centos7.0搭建的, 安装php, 有两种方式安装,一种是通过源码编译安装,一种是通过yum安装,yum安装很 简单, 直接输入yum  -y  install  php即可,默认安装的是php5.4版本的,  这里要安装php5.6, 所以选择源码安装的方式。

    安装php之前 ,需要先安装以下依赖:

    yum install openssl openssl-devel libxml2-devel libxml2 bzip2 bzip2-devel curl-devel php-mcrypt libmcrypt 

libmcrypt-devel readline-devel 

    其中由于默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所以先安装epel,再安装libmcrypt:

    yum  install  -y  epel-release

    yum  install  -y  libmcrypt-devel

  安装php所需的lib库

rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
rpm -qa freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

    注:每个lib一般都会存在一个以"devel"命名的包,安装这个"devel"的包,对应的lib也会安装好了,所以这里只需要检查安装devel的包的情况。

    如果没有安装,请使用yum来安装

yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
yum install -y freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

    如无意外,上面的这些包除了libiconv-devel没有成功安装之外,都能够正常安装,libiconv-devel需要自行编译安装。从网上下载的源码包为“libiconv-1.15.tar.gz”,解压之后编译安装:

tar -xf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --prefix=/data/server/libiconv 
make 
make install

    使用epelyum源来安装libmcrypt库、mhash加密拓展库和mcrypt加密拓展库

    在CentOS默认的yum源里面没有上面提到的这些库文件,因此需要实现配置epel第三方yum源,不然使用编译安装的办法会比较麻烦

 yum install epel-release    #可以直接用命令安装epel源
 wget -O /etc/yum.repos.d/epel.repo    #也可以直接下载epel的yum源文件

    安装对应的类库

yum install -y libmcrypt-devel    #动态加载的模块
yum install -y mhash              #基于离散数学原理的不可逆的PHP加密方式拓展库
yum install -y mcrypt       
  • 开始安装PHP(FASTCGI)服务

下载php5.6源码:

    wget  http://mirrors.sohu.com/php/php-5.6.31.tar.gz

    解压源码包:

    tar  -xzvf php-5.6.31.tar.gz

   将php-5.6.31移到/data/server/下 

   mv php-5.6.31 /data/server/

   cd  php-5.6.31

配置编译选项:

./configure \
--prefix=/data/server/php-5.6.32s \
--with-config-file-path=/data/server/php-5.6.32s/etc \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline\
--with-gd

CentOS 7 搭建lnmp_第3张图片

接着执行make,  经过一段时间的等待, 会看到提示内容:

接着继续执行:

    make  install 

  • 添加环境变量:

    vi  /etc/profile

    在末尾加入:

    PATH=$PATH:/data/server/php-5.6.32s/bin

    export PATH

    使改动立即生效:

    source /etc/profile

进入php安装包路径, 拷贝配置文件:

    cd  php-5.6.31

    cp  php.ini-production  /data/server/php-5.6.32s/etc/php.ini
    或者
    cp  php.ini-development  /data/server/php-5.6.32s/etc/php.ini

    cp  /usr/local/php/etc/php-fpm.conf.default  /data/server/php-5.6.32s/etc/php-fpm.conf    

    cp . /sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

    chmod  a+x  /etc/init.d/php-fpm

    此时手动启动php-fpm, 发现报错:

    /data/server/php-5.6.32s/sbin/php-fpm

    报错:

     ERROR: [pool www] cannot get uid for user '@php_fpm_user@'ERROR: FPM initialization failed

    解决办法:

     vi   /data/server/php-5.6.32s/etc/php-fpm.conf 把 user 和 group 修改为当前用户和用户组即可。

    接着将php-fpm服务添加到chkconfig列表:

    chkconfig  --add  php-fpm

    设置开机自启动:

    chkconfig  php-fpm  on

    以后重启和停止php的方式为:

    service  php-fpm  start
    service  php-fpm  stop
    service  php-fpm  restart

   service  php-fpm  reload

    查看是否启动成功:

查看版本

 

将php设置为开启自启

三、源码配置安装AliSQL

1.下载或者上传

    使用Filezilla将AliSQL-AliSQL-5.6.32-9.zip 上传到/usr/local/src目录下

或者直接下载到此目录

2.安装依赖包

yum -y install cmake bison git ncurses-devel gcc gcc-c++

CentOS 7 搭建lnmp_第4张图片

3.添加用户

groupadd mysql

useradd -g mysql mysql

4.解压

(unzip AliSQL-AliSQL-5.6.32-9.zip)

CentOS 7 搭建lnmp_第5张图片

5.安装解压perl

wget http://repo.openfusion.net/centos7-x86_64//perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm

CentOS 7 搭建lnmp_第6张图片

6. rpm -ivh perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm

CentOS 7 搭建lnmp_第7张图片

7.进入安装目录

(cd AliSQL-AliSQL-5.6.32-9/)

8.编译安装

cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DMYSQL_UNIX_ADDR=/data/server/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/server/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1

CentOS 7 搭建lnmp_第8张图片

make

CentOS 7 搭建lnmp_第9张图片

make install

CentOS 7 搭建lnmp_第10张图片

9.修改目录属主权限

chown -R mysql:mysql /data/server/mysql

10.复制文件

cd /data/server/mysql

cp support-files/my-default.cnf ./my.cnf

chown -R mysql:mysql my.cnf

11.配置文件

vim my.cnf

添加修改

basedir = /data/server/mysql

datadir = /data/server/mysql/data

socket = /data/server/mysql/mysql.sock

log-error= /data/server/mysql/data/error.log

pid-file = /data/server/mysql/data/mysql.pid

user = mysql

tmpdir = /tmp

CentOS 7 搭建lnmp_第11张图片

12.数据库初始化

scripts/mysql_install_db --defaults-file=./my.cnf --user=mysql

CentOS 7 搭建lnmp_第12张图片

13.启动数据库

support-files/mysql.server start

这里会出现一个报错

Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).

# rm -rf /etc/my.cnf

# rm -rf my.conf

# cd data

# rm -rf *

# cd ..

# scripts/mysql_install_db --defaults-file=./my.cnf --user=mysql

 

 

你可能感兴趣的:(CentOS 7 搭建lnmp)