• lnmp编译安装


    lamp:
    卸载php
    查看是否有php
    
    rpm -qa | grep php
    
    卸载
    
    yum remove php*
    
    查看有没有php.ini的配置文件
    有必要在全局下(根目录)搜索下 php.*文件,看还有没有,有则删除
    
    
    卸载 mysql
    查看是否有 mysql软件:
    
    rpm -qa | grep mysql
    
    如果有
    
    yum remove mysql* compat-mysql
    rm -rf /var/lib/mysql
    rm /etc/my.cnf
    
    再有必要在全局下(根目录)搜索下 my.*文件,看还有没有,有则删除
    
    find . -name my.*
    
    卸载 apache,在根目录下查找 httpd
    
    find . -name httpd
    
    关闭 httpd服务
    
    /路径/httpd stop
    
    列出httpd 相关程序包
    
    rpm -qa|grep httpd
    
    卸载包
    
    rpm -e --nodeps httpd
    
    关闭 iptables 和 SELINUX
    
    service iptables stop
    vim /etc/sysconfig/selinux
    
    然后,修改
    
    SELINUX=disable
    
    上面是为安装作准备
    下面是真正的安装的开始
    由于linux的关系,每个软件都有一个默认的安装路径,
    如:/usr/local,一般都安装在这里,此为安装的路径前,
    可以通过软件的
    
    ./configure --help #查看
    
    如果要修改安装路径,则可以
    
    --prefix=路径
    
    来修改,这里都用默认的,不用修改,方便查看
    
    源码安装 mysql
    安装选择的是 Source Code平台的
    下载版本为 mysql-5.6.23.tar.gz
    此版本要自己亲自编译,所以最好不过了
    安装编译源码所需的工具和库
    
    yum install gcc gcc-c++ ncurses-devel perl curses
    
    其中,一般要安装两种包,类似: pcre和pcre-devel
    pcre提供编译版本的库,
    pcre-devel提供开发阶段的头文件和编译项目的源代码,
    所以是我们所需要的
    
    
    安装cmake,从http://www.cmake.org下载源码并编译安装
    为了方便,把 cmake-NN.tar.gz复制到 /usr/local里
    
    tar -xzvf cmake-NN.tar.gz  
    cd cmake-NN  
    ./bootstrap
    make && make install 
    
    编译安装,根据官网
    设置MySQL用户和组
    
    新增mysql用户组
    
    groupadd mysql
    
    新增mysql用户
    
    useradd -r -g mysql mysql
    
    解压 mysql压缩包,此时方法,我把压缩包放在 /usr/local里
    
    tar zxvf mysql-VERSION.tar.gz
    cd mysql-VERSION
    
    用cmake编译和安装
    
    cmake .  # 此时有可能提示 ncurses-devel 没有安装,重新 yum install ncurses-devel
    make && make install
    
    修改mysql目录所有者和组
    
    cd /usr/local/mysql
    chown -R mysql .
    chgrp -R mysql .
    
    初始化mysql数据库
    
    scripts/mysql_install_db --user=mysql
    
    修改mysql数据库文件目录
    
    chown -R root .
    chown -R mysql data
    
    设置安全
    
    bin/mysqld_safe --user=mysql &
    
    复制mysql服务启动配置文件
    
    cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    
    复制mysql服务启动脚本及加入PATH路径
    
    cp support-files/mysql.server /etc/init.d/mysqld
    
    用vim打开
    
    vim /etc/profile
    
    添加如下内容:
    
    
    PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
    export PATH
    
    保存退出,然后
    
    source /etc/profile
    
    启动mysql服务
    
    service mysqld start
    
    启动 mysql命令登陆
    
    ln -s /usr/local/mysql/bin/mysql /usr/bin #做个链接即可
    
    此时,可以登陆数据库
    
    mysql -h localhost -u root -p
    
    密码为空
    然后可以修理那些用户名
    如删除危险的,设置密码...
    设置密码(123456)如下
    
    update user set Password=password('123456') where Host='localhost';
    
    刷新权限
    
    flush privileges;
    
    可能会出现的错误:
    
    Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid). 
    
    解决:先删除 /etc/my.cnf文件,然后
    再从上面步骤中的 
    
    scripts/mysql_install_db --user=mysql
    
    开始到结束再重新来一次

    如果还是不行,直接查看这个文件,一般提示就是内存不足,此时可通过增加 swap来实现,
    具体方法参考:http://www.cnblogs.com/lin3615/p/4666788.html此时mysql安装成功,lamp,lnmp都用这种方式安装 m以下安装 nginx

    安装编译工具
    
    yum -y install gcc automake autoconf libtool make
    yum install gcc gcc-c++
    yum install openssl
    yum install openssl-devel
    yum install zlib
    yum install zlib-devel
    yum install pcre
    yum install pcre-devel
    安装 nginx开始,先复制压缩包到 /usr/local
    结合官网加上对应的参数,如
     --prefix=/usr/local/nginx 
    --with-http_ssl_module (支持 ssl)
    tar -zxvf nginx-version.
    cd nginx-varsion
    ./configure 
    make && make install
    如果有问题,可以换个版本用
    启动nginx
    /usr/local/nginx/sbin/nginx
    
    关闭 nginx
    
    /usr/local/nginx/sbin/nginx -s stop
    
    
    nginx下安装 php
    
    tar -zxvf php-version.tar.gz
    cd php-version
    
    ./configure --enable-fpm --with-mysql 
    --with-mysqli --with-fpm-user=用户名 
    --with-fpm-group=用户组名 --enable-calendar 
    --enable-mbstring --enable-soap --enable-sockets 
    --enable-zip --with-gd --enable-ftp 
    --enable-libxml --with-curl 
    --with-openssl --with-mcrypt=/usr/local/lib 
    --with-config-file-path = /usr/local/php/php.ini
    --enable-pcntl --with-freetype-dir=/usr/local/freetype
    --with-jpeg-dir --with-png-dir --enable-session --enable-gd-native-ttf 
    --with-iconv --with-zlib --with-xml
    
    编译安装
    
    make && make install
    
    其中 --with-config-file-path 指定 php.ini路径,如果加上了,
    在启动时就不用加上这个路径
    如果提示没有哪个,就分别yum  或者 编译安装
    enable-pcntl 参数支持多进程,
    with-freetype-dir 支持图片验码,要单独安装freetype
    with-jpeg-dir with-png-dir 有可能会报错,直接安装 对应的包
    yum install libjpeg* libpng* 即可
    其中的确 mcrypt可能要安装别的文件来完成
    如果提示需要,编译这些时,则可下载
    libmcrypt(libmcrypt-2.5.8.tar.gz ):
    mcrypt(mcrypt-2.6.8.tar.gz ):
    mhash(mhash-0.9.9.9.tar.gz ):
    
    先安装 libmcrypt,再mhash,最后才mcrypt
    步骤基本是 解压,安装,如
    
    tar -zxvf xxxx.gz.gz
    cd xxxx
    ./configure
    make && make install
    
    当安装 mcrypt时,会提示 by modifying LD_LIBRARY_PATH,
    则用以下方式指定
    
    LD_LIBRARY_PATH=/usr/local/lib ./configure
    make && make install
    
    复制文件到指定的位置
    
    cp php.ini-production /usr/local/php/php.ini #配置文件路径
    cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
    cp sapi/fpm/php-fpm /usr/local/bin
    
    打开 php.ini
    
    vim /usr/local/php/php.ini
    
    定位到 cgi.fix_pathinfo= 并将其修改为如下
    
    cgi.fix_pathinfo=0
    
    打开 php-fpm.conf文件
    
    vim /usr/local/etc/php-fpm.conf
    
    查看
    
    ; Note: The user is mandatory. If the group is not set, the default user's group
    ;       will be used.
    user = xxxx
    group = xxxx
    
    如果用户和组不存在,增加一个存在,或在 系统中用 useradd, groupadd 增加
    
    启动 php-fpm 时,得加上 php.ini的路径(可以先查看 php-fpm文件在哪里),
    每次启动时,一定得加上,不然用不到这里的配置文件
    
    php-fpm -c /usr/local/php/php.ini
    
    如果在编译时加入了 --with-config-file-path参数,则直接用
    
    php-fpm 
    
    不用再加上后面的参数
    
    如果出现 9000占用
    
    killall php-fpm
    
    然后重启
    	
    php-fpm -c /usr/local/php/php.ini
    
    配置nginx,使其支持 php(一定要检查路径)
    
    vim /usr/local/nginx/conf/nginx.conf
    
    接下来,参考php手册即可
    
    修改默认的 location 块,使其支持 .php 文件
    
    location / {
        root   html;
        index  index.php index.html index.htm;
    }
    
    下一步配置来保证对于 .php 文件的请求将被传送到后端的
    PHP-FPM 模块, 取消默认的 PHP 配置块的注释,
    并修改为下面的内容
    
    location ~* .php$ {
        fastcgi_index   index.php;
        fastcgi_pass    127.0.0.1:9000;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
    
    重启 Nginx
    
    /usr/local/nginx/sbin/nginx -s stop
    /usr/local/nginx/sbin/nginx
    
    为了能够实现重启php,
    设置 php-fpm.conf中的参数,开启pid的位置
    
    ;pid=run/php-fpm.pid
    
    修改为
    
    pid=run/php-fpm.pid
    
    然后可以先停止 php,其中 php-fpm.pid的路径要正确
    
    kill -INT `cat /usr/local/php/run/php-fpm.pid`
    
    
    启动 php
    
    php-fpm -c /usr/local/php/php.ini
    

    设置开机自启动 nginx,php-fpm, mysql及修改系统最大连接数,默认为1024

    vim /etc/rc.local
    ulimit -SHn 65535 #永久开户修改最大文件数
    /usr/local/nginx/sbin/nginx   #nginx脚本所在的绝对路径
    /usr/local/bin/php-fpm -c /usr/local/php/php.ini  #php-fpm和 php.ini的绝对路径

    然后用 chkconfig --level 2345 mysqld on 开启 mysql,可用chkconfig --list 查看 mysqld状态

  • 相关阅读:
    Server requested plaintext password but ‘client plaintext auth’ is disabled
    LDAP目录树中常见的关键字
    LINUX下让一个用户添加进多个组中
    CentOS5.6下samba+ldap+smbldaptools的安装
    解决configure: error: Cannot find pam headers. Please check if your system is ready for pam module development
    解决configure: error: C++ compiler cannot create executables问题
    IE中拖动DOM元素的例子
    请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的。
    DOM中的高级事件处理
    好导网(推荐)
  • 原文地址:https://www.cnblogs.com/lin3615/p/4376224.html
Copyright © 2020-2023  润新知