zoukankan      html  css  js  c++  java
  • Linux:LNMP架构的搭建

    LNMP架构的搭建


    • centos6.8-i686

    • MySQL

    • PHP

    • Nginx

    搭建前先安装一些必要的rpm和php组件(全新系统)

    yum install -y wget gcc vim* libxml2 libxml2-devel openssl openssl-devel curl libcurl-devel libjpeg-turbo libjpeg-turbo-devel libpng libpng-devel freetype freetype-devel

    mysql和lamp的MySQL安装是一样的

    下载

    cd /usr/local/src/
    wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

    初始化tar

    复制代码
     tar zxvf /usr/local/src/mysql-5.1.73-linux-i686-icc-glibc23.tar.gz //解压
     mv mysql-5.1.73-linux-i686-icc-glibc23 /usr/local/mysql //挪动位置
     useradd -s /sbin/nologin mysql //建立 mysql 用户
     cd /usr/local/mysql
     mkdir -p /data/mysql // 创建 datadir,数据库文件会放到这里面
     chown -R mysql:mysql /data/mysql //更改权限
     ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
    
    --user 定义数据库的所属主,--datadir 定义数据库安装到哪里
    复制代码

    验证一下 echo $?

    常见问题

    (1)错误: ./bin/mysqld: error while loading shared libraries: libstdc++.so.5: cannot
          open shared object file:
        解决:
          yum install -y compat-libstdc++-33
    (2)错误:./scripts/mysql_install_db: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad
          ELF interpreter: No such file or directory
        这是因为,你的系统版本和 mysql 版本不一致。比如,你的系统是 32 位,结果你下载
        了一个 64 位的包。所以,解决办法是,下载合适的包。

    配置 


      拷贝配置文件  

      cp support-files/my-large.cnf /etc/my.cnf

     
      拷贝启动脚本文件并修改其属性  

      cp support-files/mysql.server /etc/init.d/mysqld
      chmod 755 /etc/init.d/mysqld


      修改启动脚本  

      vim /etc/init.d/mysqld
      修改的地方 “datadir=/data/mysql” (前面初始化数据库时定义的目录)

       把启动脚本加入系统服务项,设定开机启动并启动 mysql  

      chkconfig --add mysqld
      chkconfig mysqld on
      service mysqld start

     
    常见问题


     如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err。

      检查mysql 是否启动的命令为:   

       ps aux |grep mysqld


    PHP

    下载

    cd /usr/local/src
    wget http://au1.php.net/distributions/php-5.4.44.tar.bz2

     解压

    tar jxf php-5.4.44.tar.bz2

    创建用户

    useradd -s /sbin/nologin php-fpm

    配置编译

    cd php-5.4.44
    ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --enable-zend-multibyte --disable-ipv6 --with-pear --with-curl --with-openssl

    错误信息

    yum list |grep 组件名
    #刚开始差不多都安装过了,如果还有没安装的
    yum install -y 包名

    编译和安装这个时间比较长

    make && make install

    这一步可能会有错误

    yum install -y libtool-ltdl-devel

     修改配置文件

     cp php.ini-production /usr/local/php/etc/php.ini
    cp /usr/local/php-fpm/etc/{php-fpm.conf.default php-fpm.conf}

    检查配置文件是否正确

     /usr/local/php/sbin/php-fpm -t
    #会出现
    test is successful
    #代表配置文件正确

    启动php-fpm并加入到开机启动

    #先拷贝一个文件
    cp
    /usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #给它更改权限为 755 chmod 755 /etc/init.d/php-fpm #启动服务 service php-fpm start #加入服务列表 chkconfig --add php-fpm #加入开机启动 chkconfig php-fpm on #检查是否开启服务 ps aux |grep php-fpm

    Nginx

    下载

    cd /usr/local/src/
    wget http://nginx.org/download/nginx-1.8.0.tar.gz

    解压

    tar zxvf nginx-1.8.0.tar.gz

    配置编译

     ./configure --prefix=/usr/local/nginx --with-pcre

    这里可能会报错缺少pcre组件

    yum install -y pcre-devel

    编译和安装

    make && make install

    启动Nginx

    /usr/local/nginx/sbin/nginx

    检查是否启动服务

    ps aux |grep nginx

    测试php-fpm解析

       先修改配置文件

    vim /usr/local/nginx/conf/nginx.conf
    #找到
    location / {
                root   html;
                index  index.html index.htm index.php;
            }
    #添加index.php
    #找到
    location ~ .php$ {
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
                include        fastcgi_params;
            }
    #修改成/usr/local/nginx/html

     重新加载

    /usr/local/nginx/sbin/nginx -s reload

      测试

      创建一个php文件

    vim /usr/local/nginx/html/1.php
    #在里面写
    <?php
    phpinfo();
    ?>
    #保存退出

      打开浏览器输入ip/1.php

      出现info信息说明解析成功

  • 相关阅读:
    【转】理解Ruby的4种闭包:blocks, Procs, lambdas 和 Methods
    折腾weibo开放平台
    netsh——常用命令及使用技巧
    The Enemies of Achievement
    java内存模型
    命名规则
    JS 控制加载页面对象
    点击图片弹出上传文件对话框
    ASP.NET判断用户是否在线
    ASP.Net处理QueryString函数汉字参数传递错误
  • 原文地址:https://www.cnblogs.com/Spiro-K/p/6602662.html
Copyright © 2011-2022 走看看