• lnmp的环境的安装和搭建


      上次中,记录了lamp的环境的搭建和安装,这一次说一下lnmp环境的安装和搭建,下面是详细的安装步骤:

    一. 先是Mysql的安装步骤,其实和上次的一样:

      

    1): 编译安装MySQL
    +-------------------------------------------------------------------------------+
    |     操作                         |     作用               |    
    +-------------------------------------------------------------------------------+
    |shell> cd /usr/local/src               | 进入软件包所在目录(不要照抄)     |
    |-------------------------------------------------------------------------------|
    |shell> groupadd mysql                    | 增加mysql组(如果有就不用加了)     |
    |-------------------------------------------------------------------------------|
    |shell> useradd mysql -g mysql               | 增加mysql用户,并属于mysql组     |
    |-------------------------------------------------------------------------------|
    |shell> tar -xzvf mysql-5.1.30.tar.gz             | 解压mysql源码包          |
    |-------------------------------------------------------------------------------|
    |shell> cd mysql-5.1.30                    | 进入源码包               |
    |-------------------------------------------------------------------------------|
    |shell> ./configure --prefix=/usr/local/mysql      | 配置mysql编译选项,          |
    |     --with-charset=utf8                 | 指定安装路径及支持的字符集     |
    |     --with-extra-charsets=gbk,gb2312,binary  
    |                      |
    |-------------------------------------------------------------------------------|
    |shell> make                         |  编译                    |
    |-------------------------------------------------------------------------------|
    |shell> make install                     |  安装                    |
    +-------------------------------------------------------------------------------+
    
    2):配置并初始化MySQL
    +---------------------------------------------------------------------------------------+
    |     操作                              |     作用               |    
    +---------------------------------------------------------------------------------------+
    |shell> cp support-files/my-medium.cnf /etc/my.cnf     | 把MySQL配置文件复制到/etc下     |
    |---------------------------------------------------------------------------------------|
    |shell> vi /etc/my.cnf 在'skip_federated'前加'#'号     | 注释掉这个错误的启动项,这是一个比较新式的存储引擎|
    |---------------------------------------------------------------------------------------|
    |shell> cd /usr/local/mysql                    | 进入mysql的安装目录          |
    |---------------------------------------------------------------------------------------|
    |shell> chown -R mysql.mysql .                    | 修改属主属组为mysql,才能完成     |
    |                                     | 下一步的初始化数据库工作     |
    |---------------------------------------------------------------------------------------|
    |shell> bin/mysql_install_db --user=mysql           | 初始化数据数据库          |
    | --datadir=/usr/local/mysql/var               |                    |
    |---------------------------------------------------------------------------------------|
    |shell> chown -R root .                         | 把var目录修改为mysql用户所有     |
    |shell> chown -R mysql var                    | 其他文件修改为root所有,保证安全|
    |---------------------------------------------------------------------------------------|
    |shell> bin/mysqld_safe --user=mysql &               | 启动mysql               |
    +---------------------------------------------------------------------------------------+
    
    3):测试数据库
    +-------------------------------------------------+-------------------------------------+
    |               操作                 |               作用          |    
    +-------------------------------------------------+-------------------------------------+
    |shell> bin/mysql -uroot                 | 以root用户连mysql,无密码          |
    |---------------------------------------------------------------------------------------|
    |mysql> show databases;                      | 显示数据库                    |
    |---------------------------------------------------------------------------------------|
    | +--------------------+                 |                         |    
    | | Database           |                 |                         |
    | +--------------------+                 |     看到左面的信息,数据库就安装     |
    | | information_schema |                 |     并启动成功了!               |
    | | mysql              |                 |                         |
    | | test               |                 |                         |
    | +--------------------+                 |                         |
    +---------------------------------------------------------------------------------------+
    
    
    4):接上步,修改mysql密码(可不做此步,默认无密码)
    +-------------------------------------------------------------------------------+
    |          操作                    |          作用          |    
    +-------------------------------------------------------------------------------+
    |mysql>UPDATE user SET                     |                    |
    | password=PASSWORD('new_password')          |     修改root用户的密码     |
    | WHERE user='root';                    |                    |
    |-------------------------------------------------------------------------------+
    |mysql>flush privileges;               |     清空权限缓存          |
    +-------------------------------------------------------------------------------+

    二.开始安装php

    1 apache一般是把php当做自己的一个模块来启动的.
    2 而nginx则是把http请求变量(如get,user_agent等)转发给 php进程,即php独立进程,与nginx进行通信. 称为 fastcgi运行方式.
    3 因此,为apache所编译的php,是不能用于nginx的.

     注意:需要将php-fpm的模块打进入到php的源码包中,具体的步骤如下:

     

    编译安装PHP和PHP-FPM很简单,下面是安装过程:(最好安装php5.3)
    [root@localhost local]#tar zxvf php-5.2.13.tar.gz   
    [root@localhost local]#gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1 
    [root@localhost local]#cd php-5.2.13 
    [root@localhost php-5.2.13]#./configure  --prefix=/usr/local/php --enable-fastcgi --enable-fpm 
    [root@localhost php-5.2.13]#make 
    [root@localhost php-5.2.13]#make install 
    [root@localhost php-5.2.13]cp php.ini-dist /usr/local/php/lib/php.ini 
    
    管理FastCGI进程
    在配置完php-fpm后,就可以启动FastCGI进程了。启动fastcgi进程有两种方式:
    /usr/local/php/bin/php-cgi --fpm  
    或者 
    /usr/local/php/sbin/php-fpm  start 
    
    
    在“./configure”编译选项中,指定将PHP安装到/usr/local下,“--enable-fastcgi”是启用对PHP的FastCGI支持,“--enable-fpm”是激活对FastCGI模式的fpm支持。

    注意:在此处并没有将Mysql编译进来,但是没有关系,这个后续也是可以导入进来的

    三.安装nginx

      

    nginx 的安装
    下载地址: http://nginx.org/download/nginx-1.4.2.tar.gz
    安装准备: nginx依赖于pcre库,要先安装pcre
    yum install pcre pcre-devel
    cd /usr/local/src/
    wget http://nginx.org/download/nginx-1.4.2.tar.gz
    tar zxvf nginx-1.4.2.tar.gz
    cd nginx-1.4.2
    ./configure --prefix=/usr/local/nginx
    make && make install
    
    启动:
    cd /ulsr/local/nginx, 看到如下4个目录
    ./
    ....conf 配置文件 
    ... html 网页文件
    ...logs  日志文件
    ...sbin  主要二进制程序
    
    [root@localhost nginx]# ./sbin/nginx
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    ....
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] still could not bind()
    
    不能绑定80端口,80端口已经被占用
    (有时是自己装了apache,nginx等,还有更多情况是操作系统自带了apache并作为服务启动)
    解决: 把占用80端口的软件或服务关闭即可.

     总结一下nginx处理转发php的请求原理:

     1 nginx+php的配置比较简单,核心就一句话----
     2 把请求的信息转发给9000端口的PHP进程, 
     3 让PHP进程处理 指定目录下的PHP文件.
     4 
     5 如下例子:
     6 location ~ .php$ {
     7             root html;
     8             fastcgi_pass   127.0.0.1:9000;
     9             fastcgi_index  index.php;
    10             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    11             include        fastcgi_params;
    12 
    13         }
    14 
    15 1:碰到php文件,
    16 2: 把根目录定位到 html,
    17 3: 把请求上下文转交给9000端口PHP进程,
    18 4: 并告诉PHP进程,当前的脚本是 $document_root$fastcgi_scriptname
    19 (注:PHP会去找这个脚本并处理,所以脚本的位置要指对)
  • 相关阅读:
    WKWebView-b
    Label设置行间距
    前端开发福音!阿里Weex跨平台移动开发工具开源-b
    iOS 实现脉冲雷达以及动态增减元素 By Swift-感谢分享
    使用SourceTree将bitbucket的远程仓库回滚到某一次提交-b
    IPv6测试环境搭建
    React/React Native 的ES5 ES6写法对照表-b
    越狱开发:用iosOpenDev配置越狱开发环境 编写第一个hello world-b
    MSSQL-SQL SERVER还原与备份(导入与导出)
    PHP-深入学习Smarty
  • 原文地址:https://www.cnblogs.com/shangzekai/p/4374515.html
Copyright © 2020-2023  润新知