zoukankan      html  css  js  c++  java
  • lnmp安装总结

    1.安装准备


    建一个目录用于存放各软件包的压缩文件, 如我把我的源码文件都放在了 /software目录下

    切换到/software目录下,执行

    wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.95.tar.gz/from/http://mysql.cdpa.nsysu.edu.tw/  (mysql)

    wget http://mirrors.sohu.com/nginx/nginx-1.9.4.tar.gz (nginx)

    wget http://mirrors.sohu.com/php/php-5.6.9.tar.gz (php)

    wget http://mirrors.sohu.com/apache/httpd-2.4.16.tar.gz (Apache)

    用 tar -zxvf 压缩包名  解压相关压缩包

    用 yum remove httpd php* 移除已安装的相应包

    如果移除不成功则只能rm -rf mysql nginx php zend 的方式来删除安装包

    安装相关组件包

    yum -y install gcc gcc-c++ libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel openssl-devel libtool-ltdl-devel

    2.安装nginx


    安装nginx依赖包:yum  -y install zlib-devel pcre-devel openssl-devel

    预编译

    cd nginx-1.9.4
    ./configure --prefix=/usr/local/nginx     # 指定安装目录为/usr/local/nginx
    --with-openssl=/usr/include/openssl      # 启用ssl
    --with-pcre                                                    # 启用正规表达式
    --with-http_stub_status_module              # 安装可以查看nginx状态的模块

    (--前面必须留一个空格,否则会报错)

    编译和安装

    make && make install

    启用nginx

    /usr/local/nginx/sbin/nginx

    可以用以下命令来简化启动路径

    cp  /usr/local/nginx/sbin/nginx  /etc/init.d

    (原本是想通过chkconfig命令来设置自启动的,没有成功,有待研究,最后就只有通过vi /etc/rc.d/rc.local 来写入 /etc/init.d/nginx)

    查看nginx是否启动 pgrep  nginx  或用 ps -A | grep nginx

    Image(9)

    如果返回有结果就说明nginx已启动

    可以在浏览器中输入地址查看

    Image(10)

    这个页面其实对应的就是/usr/local/nginx/html/index.html这个页面

    3.安装mysql

    cd mysql-5.0.95
    ./configure --prefix=/usr/local/mysql   --without-debug --with-extra-charsets=utf8,gbk --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/tmp/mysql.sock  --with-ssl
    (--without-debug                                          # 取消调试模式提高性能
    --with-extra-charsets=utf8,gbk                 # 仅仅指定需要的默认字符集提高性能
    --enable-assembler                                    # 使用汇编模式提高性能
    --with-mysqld-ldflags=-all-static              # 以静态方式编译提高性能
    --with-client-ldflags=-all-static
    --with-unix-socket-path=/tmp/mysql.sock       # 使用unix socket提高性能)
    make && make install
    

    安装完成后复制配置文件和启动脚本:

    cp support-files/my-medium.cnf     /etc/my.cnf         # 复制配置文件
    cp support-files/mysql.server     /etc/init.d/mysqld     # 复制启动脚本
    chmod +x /etc/init.d/mysqld                                           # 给启动脚本执行权限
    (这一步一定要执行,因为mysqld默认没有可执行权限,若不执行则在执行service mysqld start 时会提示这个命令不被允许,或者执行chmod 755 /etc/init.d/mysqld)

    为了以后方便我们为所有的二进制可执行文件和动态链接库文件做一个软连接(可不做):

    ln -s /usr/local/mysql/bin/*      /usr/local/bin/       # 为可执行的二进制文件做软连接
    ln -s /usr/local/mysql/lib/mysql/lib*      /usr/lib/    # 为动态链接库做一个软连接
    

    初始化数据库:
    mysql_install_db --user=mysql  # 用MySQL用户安装数据库
    

    Image(13)

    Image(14)

    启动mysql:
    
    方法很多,如 
    
    service mysqld start
    /etc/init.d/mysqld start
    
    /etc/rc.d/init.d/mysqld start
    
    如若启动失败可查看这篇博客的解决方案http://zhangge.net/4225.html 
    
    如我碰到过
    
    Image(23)
    是因为在启动mysql之前没对他进行初始化
    

    /usr/local/mysql/bin/mysql_install_db --user=mysql

    这个方法解决了

    查看是否启动 pgrep mysql 或 netstat -antpl | grep 3306
    
     
    Image(24)

    使用mysql

    Image(15)

    4.安装php


    首先得安装php的几个依赖包

    yum -y install  libmcrypt mhash mcrypt libxml2-devel curl-devel libpng-devel openldap-devel

    
    

    如果已经安装就可以不安装了

    Image(16)

    cd php-5.6.9
    ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-zlib --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --with-curl  --enable-fpm  --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap  --with-iconv=/usr/local/libiconv
    make && make install
    
    (这个地方编译得小一会儿)
    编译时也有可能出错,比如我碰到过如下的错误
    Image(25)
    主要是因为libiconv依赖没有安装
    
    解决方法 http://lynnteng0.blog.51cto.com/2145094/1257910
    也有可能会出现类似的编译错误,根据提示到网上去找解决方案即可,一般都能找到
    
    编译完后就得改一些配置了
    cp /software/php-5.6.9/php.ini-production      /usr/local/php/php.ini      # 如果是开发就复制php.ini-development
    cp /usr/local/php/etc/php-fpm.conf.default     /usr/local/php/etc/php-fpm.conf
    

    配置php-fpm,编辑php-fpm.conf
    vi /usr/local/php/etc/php-fpm.conf
    

    找到listen那一行,修改成如下内容:
    listen = /var/run/php-fpm/php-fpm.sock   # 使用unix socket(原本是没有这个php-fpm.sock的,等启动php-fpm之后就有了)
    

    启动php-fpm
    mkdir /var/run/php-fpm
    /usr/local/php/sbin/php-fpm (启动php-fpm)
    

    然后配置nginx,编辑nginx配置文件
    vi /usr/local/nginx/conf/nginx.conf
    
    修改的地方 :
    @1.修改用户和开启日志功能(www用户得自己建一个,日志功能强烈建议开启)
    Image(17)
    @2.修改根目录并制定可被解析的脚本格式
    Image(18)
    @3.修改通信协议
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    
    Image(19)
    @4.更改php-fpm的配置文件
    vim  /usr/local/php/etc/php-fpm.conf
    Image(20)
    修改
    
    listen.owner = www
    
    listen.group = www
    
    listen.mode = 0660
    
    将这个文件的user和group指定为www用户
    修改完后保存退出 然后重启nginx (关闭pkill -9 nignx   启动/usr/local/nginx/sbin/nginx)和php-fpm (/usr/local/php/sbin/php-fpm)
    (当然配置中的用户和群组以及代码跟路径可根据自己喜好做相应变化)
    5.写php代码 用于验证
    在/home/www/test目录下创建index.php (test目录下及所包含的文件的权限是777 chmod –R 777 test)
    <? php
    echo phpinfo()
    ?>
    在地址栏中运行localhost若出现如下页面就说明一切ok了
    Image(21)
    如果没有出现也没啥着急的看看错误日志呗
    vim /usr/local/nginx/logs/error.log
    Image(22)
    比如这是我的一次错误日志 ,主要是/var/run/php-fpm/php-fpm.sock 没有可执行的权限,用chmod命令赋予可执行权限即可(无需再次启动php-fpm和nginx,如果改了相关配置的话就需要重启这两个软件)

  • 相关阅读:
    Delphi中的接口和抽象类
    设计模式之六大原则
    C 标准库
    linux 管道和重定向
    linux c创建静态库(.a)
    一个C语言程序
    C#动态创建lambda表达式
    linq中order by 和group by (含lambda表达式实现)以及综合案例
    微信扫码登陆原理
    二维码扫码支付原理
  • 原文地址:https://www.cnblogs.com/ryanlamp/p/4753295.html
Copyright © 2011-2022 走看看