zoukankan      html  css  js  c++  java
  • lnmp

    LNMP

    lnmp 
    常见的web框架结构:lnmp 。lamp 
    nginx和apache都是web应用服务器 
    lnmp的部署方式:1.全部都部署在一台,2.全部都不是在 一台 3.只分离出mysql 
    fastcgi和http格式的数据包的区别 
    1。fastcgi:数据包格式非常严谨,因此,php解析的速度非常快,但是越是严谨的数据包越大,所以fastcgi比http的数据包大 
    2.http:数据包的格式比较松散,因此解析的速度慢,但是数据包比fastcgi小

     

    架构:

    1.Nginx和PHP之间进行数据传输依靠fastcgi(接口规则;快速接口),发的是fastcgi的数据包 
    软件的设计架构分为C/S和B/S,作为客户端Client的fastcgi_pass和作为server端的PHP-fpm,因为经常 
    用,所以fastcgi_pass和Nginx合并,而PHP-fpm和PHP功能合并了,当我们装入Nginx就自带fastcgi,装入PHP就自带PHP-fpm。 
    2.用户的请求一定是遵循HTTP协议的,因为是通过浏览器过来的 
    3.nginx和apache其实一样,如果没有PHP支持,那么都处理不了动态请求,它们自身其实都只能处理静 
    态。只是Apache转发动态数据包的速度快,但是只是单个包速度快。apache的并发低 
    4.客户机fastcgi-pass向PHP-fpm服务端推送数据包时,推送的不是用户的请求,而是fastcgi格式的数据 
    包(目的是为了加快PHP的解析速度) 
    5.PHP-fpm监听的是9000端口 
    6.PHP是怎么找数据库的:是通过开发写的代码来找的 
    静态网页和动态网页都是有文件实体的,如:静态网页是xxx.html,动态网页是xxx.php。只不过动态网页 
    用cat打开是看不见网页内容的,它都是代码,不是直接的文字。但是动态网页解析以后给用户的是经过数据库读出来的数据 
    7.动态网页解析过程:动态网页不是直接把网页内容原封不动的给用户看的,而是PHP先把内容读取到内存中,然后网页中的JS部分就去数据库中拿数据,然后再把内容读到内存中(替换掉原来的代码部分),然后打个包再发给 
    7:PHP就相当于bash是用来解析的 fastcgi_pass是通过 127.0.0.1:9000来推送的,代表推送到本地的9000端口如果是分离式部署就需要修改IP,动态网页实际上是PHP解析的 
    部署(全部在一台上) 
    一.部署Nginx 
    1.先安装支持包 
    yum -y install pcre-devel openssl-devel 
    2.解压编译包到/usr/src 
    tar xf 安装包 -C /usr/src 
    3.创建程序用户(如果是分离式部署,那么Nginx和PHP中都要有网页文件,并且设置的用户都要能访问 
    网页文件) 
    useradd -s /sbin/nologin -M www 
    4.进行编译安装 
    cd /usr/src/nginx 
    ./configure --user=用户名 --group=组 --prefix=指定目录(如:/usr/local/nginx) --with-http_stub_status_module --with-http_ssl_module && make && make install 
    修改环境变量(做软连接) 
    ln -s /usr/local/nginx/sbin/* /usr/local/bin/ 
    5.从备份的配置文件中去了#号和空行,重定向到配置文件中,也可以在配置文件中删除错误信息。 
    二.部署mysql 
    为什么在安装PHP前要先安装mysql?那么如果MySQL在其他服务器上怎么办? 
    ------因为PHP在安装是需要现有Mysql的环境,不然PHP编译会出错。 
    mysql的安装方式 
    (1)yum/rpm安装 
    (2)二进制安装(直接解压就可以安装,但是这个安装包特别大) 
    (3)源码编译安装 
    1.解压二进制包到/usr/local 
    2.添加程序用户 
    useradd -s /sbin/nologin -M mysql 
    3.复制它的配置文件到/etc下 
    4.初始化mysql。之前要做个映射(如果主机名在本地没有映射,那么可能出错) 
    5.给mysql赋予程序用户属组和属主 
    chown -R mysql.mysql /usr/local/mysql 
    7.安装支持包 yum -y install libaio 
    8.初始化 /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql 
    出现两个okbiao'sh

     

    启动mysql

    拷贝mysql的启动脚本到mysql 的启动路径 
    cp support-files/mysql.server /etc/init.d/mysql 
    使脚本可执行 chmod +x /etc/init.d/mysqld 
    /etc/init.d/mysqld start 
    9.给mysql设置软连接 
    ln -s /usr/local/mhysql/bin/* /usr/local/bin 
    给mysql的root设置密码 
    mysqladmin -uroot password'123456'

     

    部署php

    安装支持包 
    yum -y insatll zlib-devel libxm12-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd libcurl-devel libxslt-devel 
    此时libiconv-devel 无法安装,取公网源 
    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz 
    tar xf libiconv-1.14.tar.gz -C /usr/src/ 
    cd /usr/src/libiconv-1.14 
    ./configure --prefix=/usr/local/libiconv && make && make install 
    3.安装libmcrypt库,安装mhash加密数据库,安装mcrvpt加密扩展库 
    yum安装wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo 
    yum -y install libmcrypt-devel mhash mcrypt 
    rpm方式安装 libmcrypt-2.5 mcrypt-2.6.8 
    libmcrypt-devel-2.3 mhash-0.9

     

    .安装PHP(fastcgi方式)服务

    (1)获取PHP软件包 
    ------公网源方式 
    wget http://cn2.php.net/get/php-5.3.28.tar.gz/from/this/mirror 
    编译安装tar xf php-5.3.28.tar.gz -C /usr/src 
    配置php ./configure --prefix=/usr/local/php5.3.28  
    --with-mysql=/usr/local/mysql  
    --with-iconv-dir=/usr/local/libiconv  
    --with-freetype-dir  
    --with-jpeg-dir  
    --with-png-dir  
    --with-zlib  
    --with-libxml-dir=/usr --enable-xml  
    --disable-rpath  
    --enable-safe-mode  
    --enable-bcmath  
    --enable-shmop  
    --enable-sysvsem  
    --enable-inline-optimization  
    --with-curl  
    --with-curlwrappers  
    --enable-mbregex  
    --enable-fpm  
    --enable-mbstring  
    --with-mcrypt  
    --with-gd  
    --enable-gd-native-ttf  
    --with-openssl  
    --with-mhash  
    --enable-pcntl  
    --enable-sockets  
    --with-xmlrpc  
    --enable-zip  
    --enable-soap  
    --enable-short-tags  
    --enable-zend-multibyte  
    --enable-static  
    --with-xsl  
    --with-fpm-user=www  
    --with-fpm-group=www  
    --enable-ftp 
    在安装PHP时如果报错,看看是不是提示缺少某个安装包,然后用yum安装试试。如果不行就在安装包 
    的后边加上-devel,意思是把跟它有关的所有包都装上 
    。需要做软连接 
    ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ 
    touch ext/phar/phar.phar 
    make 最后出现 build complete 成功 make install 
    6.配置php引擎配置文件php.ini 
    设置软连接以方便访问:ln -s /usr/local/php5.3.28 /usr/local/php 
    cd /usr/src/php-5.3.28/ 
    cp php.ini-production /usr/local/php/lib/php.ini 
    7.配置php(fasrcgi方式)的配置文件php-fpm.conf 
    cd /usr/local/php/etc 
    cp php-fpm.conf.default php-fpm.conf 
    启动php-fpm 
    /usr/local/sbin/php-fpm 
    1.png-82.5kB

    2.png-281.3kB

    修改nginx的配置 
    cd /usr/local/nginx 
    vim /conf/nginx.conf 
    3.png-398.6kB

    创建动态网页的首页 
    cat test_info.php > 

    之后在windows做映射 
    4.png-293.2kB

    ln -s /usr/local/php/bin/* /usr/local/bin/ 
    用php激活 php test mysql.php 
    5.png-83.3kB

    创建一个专用的wordpress管理账号 
    6.png-122.3kB

    8.png-165kB

    7.png-115.3kB

    10.png-51.7kB

  • 相关阅读:
    通过PMP了
    VBA之自动建立连接
    从头学SQL Server2005之一:数据库引擎体系结构
    SMP、NUMA、MPP体系结构介绍【转】
    将Windows2003的RDP客户端管理应用于XP
    VBA中简单修改原有公式的宏
    各种Excel VBA的命令
    领导和管理的区别在哪里?【转】
    COM(VB/VBA/Script)利用服务标记调用WCF服务之四:使用配置文件
    2009年第一篇日志
  • 原文地址:https://www.cnblogs.com/xuruqing/p/9995374.html
Copyright © 2011-2022 走看看