• centos 6.5 安装lnmp(linux+nginx+mysql+php)


    参考:http://www.cnblogs.com/AloneSword/archive/2013/03/18/2966750.html (总结并简要)

    一安装cmake

    wget -c http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz 

    tar zxvf cmake-2.8.5.tar.gz
    cd cmake-2.8.5
    .boostarp (有这个命令就执行,否则就跳过)
    make
    make install
    cmake --version


    二安装mysql


    yum -y install gcc libxml2-dev curl screen
    libpng12-dev autoconf libpcre3-dev make bzip2
    libevent-dev patch libjpeg62-dev libcurl4-openssl-dev
    libfreetype6-dev g++ libtool libncurses5-dev psmisc lrzsz
    openssl openssl-devel ncurses ncurses-devel


    # 创建用户和组
    groupadd mysql
    useradd -g mysql -s /usr/sbin/nologin mysql
    # 创建安装目录
    mkdir /usr/local/ mysql
    # 创建数据库目录
    mkdir /usr/local/ mysql/data

    # 解压
    tar -zxvf mysql-5.5.17.tar.gz
    cd mysql-5.5.17

    # 编译及安装mysql
    # cmake编译:

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

           PS: cmake的时候,参数可以不用那么多,只要一个-DCMAKE_INSTALL_PREFIX=/usr/local/mysql就行了,我们可以在 my.cnf里面配置。[mysqld]中的内容,看看你copy后的my.cnf有没有这些设置,有就不用了在设置了。  


    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_unicode_ci
    -DWITH_READLINE=1
    -DWITH_SSL=system
    -DWITH_EMBEDDED_SERVER=1
    -DENABLED_LOCAL_INFILE=1
    -DDEFAULT_COLLATION=utf8_general_ci
    -DWITH_MYISAM_STORAGE_ENGINE=1
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_DEBUG=0

    # 安装mysql
    make && make install


    # 复制配置文件

    cp support-files/my-medium.cnf /usr/local/mysql/my.cnf


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

    # 设置权限
    chmod +x /usr/local/mysql
    chown -R mysql.mysql /usr/local/mysql
    chown -R mysql:mysql /usr/local/mysql/data

    # 配置开机自启动
    cp support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
    chkconfig --add mysqld
    chkconfg mysqld on

    # 修改my.cnf配置
    vim /etc/my.cnf
    # [mysqld] 添加:
    datadir=/usr/local/mysql/data
    default-storage-engine=MyISAM

    # 以下可选:
    log-error =/usr/local/mysql/data/error.log
    pid-file = /usr/local/mysql/data/mysql.pid
    user = mysql
    tmpdir = /tmp



    # 初始化数据库
    /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

    # 启动MySQL
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
    或者:
    /etc/init.d/mysql start (service mysql start)

    # 测试MySQL是否启动
    # 1)查看是否有进程mysql
    ps -ef | grep mysql
    # 2)查看端口是否运行
    netstat -tnl | grep 3306
    # 3)读取mysql版本信息
    /usr/local/mysql/bin/mysqladmin version

     初使密码

    #> service mysqld stop
    #>mysqld_safe --skip-grant-tables &
    输入 mysql -uroot -p 回车进入

    编辑my.cnf

    在[mysqld] 配置部分添加一行

    skip-grant-tables


    >use mysql;
    > update user set password=PASSWORD("newpass")where user="root";
    更改密码为 newpassord
    > flush privileges; 更新权限
    > quit 退出

    service mysqld restart
    mysql -uroot -p新密码进入


    //启动mysql server在后台运行
    #./bin/mysqld_safe --user=mysql &
    设置密码
    # ./bin/mysqladmin -u root password 'passwd'
    //进入mysql
    # ./bin/mysql -u root -p


    二安装php

    参考:http://www.phperz.com/article/14/1207/39774.html

    准备:

    yum -y install gcc automake autoconf libtool make

     
    yum -y install gcc gcc-c++ glibc
     
    yum -y install libmcrypt-devel mhash-devel libxslt-devel
    libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel
    zlib zlib-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 openssl openssl-devel

    ./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt
    --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath
    --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets
    --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex
    --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli
    --with-gd --with-jpeg-dir

    cp php.ini.production /usr/local/php/etc

    启动

    /usr/local/php/sbin/php-fpm -t
    /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t

    报错:
    configure: error: Please reinstall the BZip2 distribution

    解决 
    yum -y install bzip2 bzip2-devel

    报错:
    configure: error: Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/

    解决
    yum -y install libcurl licurl-devel

    报错:
    /usr/local/src/php-5.3.8/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
    make: *** [ext/phar/phar.php] Error 127

    解决:
    1.在/etc/ld.so.conf中加一行/usr/local/lib,
    2.然后运行/sbin/ldconfig

    还不行再加一个

    find / -name "libmysqlclient.so.18"
    echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf
    tail -1 /etc/ld.so.conf
    ldconfig


    这样就ok了它就能找到库文件了

    添加环境变量

    vim /etc/profile

    export PATH="$PATH:/usr/local/php/sbin"

    启动服务

    /usr/local/php/sbin/php-fpm

    报错:

    ALERT: [pool www] pm.min_spare_servers(0) must be a positive value

    解决办法:

    # vi /usr/local/php/etc/php-fpm.conf
    pm.start_servers=20
    pm.min_spare_servers=5
    pm.max_spare_servers=35
     
    三安装nginx
    #./configure --prefix=/usr/local/nginx
    make && make install
     

    安装Nginx时报错

    ./configure:  error: the HTTP rewrite module requires the PCRE library.

    安装pcre-devel解决问题
    yum -y install pcre-devel

    加入环境变量

    vim /etc/profile

    export PATH="$PATH:/usr/local/nginx/sbin"

    配置:

    #vim /usr/local/nginx/conf/fastcgi_params

    if ($fastcgi_script_name ~ "..*/.*.php") {
    return 404;
    }

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    fastcgi_param PATH_INFO $fastcgi_script_name; 

    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;#脚本文件请求的路径
    fastcgi_param  QUERY_STRING       $query_string; #请求的参数;如?app=123
    fastcgi_param  REQUEST_METHOD     $request_method; #请求的动作(GET,POST)
    fastcgi_param  CONTENT_TYPE       $content_type; #请求头中的Content-Type字段
    fastcgi_param  CONTENT_LENGTH     $content_length; #请求头中的Content-length字段。
    
    fastcgi_param  SCRIPT_NAME        $fastcgi_script_name; #脚本名称 
    fastcgi_param  REQUEST_URI        $request_uri; #请求的地址不带参数
    fastcgi_param  DOCUMENT_URI       $document_uri; #与$uri相同。 
    fastcgi_param  DOCUMENT_ROOT      $document_root; #网站的根目录。在server配置中root指令中指定的值 
    fastcgi_param  SERVER_PROTOCOL    $server_protocol; #请求使用的协议,通常是HTTP/1.0或HTTP/1.1。  
    
    fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;#cgi 版本
    fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;#nginx 版本号,可修改、隐藏
    
    fastcgi_param  REMOTE_ADDR        $remote_addr; #客户端IP
    fastcgi_param  REMOTE_PORT        $remote_port; #客户端端口
    fastcgi_param  SERVER_ADDR        $server_addr; #服务器IP地址
    fastcgi_param  SERVER_PORT        $server_port; #服务器端口
    fastcgi_param  SERVER_NAME        $server_name; #服务器名,域名在server配置中指定的server_name
    
    #fastcgi_param  PATH_INFO           $path_info;#可自定义变量
    
    # PHP only, required if PHP was built with --enable-force-cgi-redirect
    #fastcgi_param  REDIRECT_STATUS    200;
    
    在php可打印出上面的服务环境变量
    如:echo $_SERVER['REMOTE_ADDR']

    参考:http://www.cnblogs.com/rnckty/p/4832213.html

     http://blog.hackroad.com/operations-engineer/linux_server/1453.html

  • 相关阅读:
    DataTable 中varchar 转换为 Double 后重新 排序。
    asp.net 后台实现删除,划掉效果
    word2007二级标题自动编号不从大标题开始的解决方法
    asp.net 多个文件同时下载
    asp 时间倒数后按钮可用
    js获取gridview模板列中textbox行列的值
    JS错误 theForm.submit();SCRIPT3: 找不到成员。
    JS验证 只能输入小数点,数字,负数。
    关于SQLServer2008数据如何导入SQL2005的解决办法,高版本数据导入低版本中。
    asp.net中TreeView的大数据加载速度优化
  • 原文地址:https://www.cnblogs.com/300js/p/5915937.html
Copyright © 2020-2023  润新知