• ubuntu下搭建nginx+mysql+php-fpm站点


    概述

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。  nginx的优势在于能以低内存高效率处理静态页面大量请求。

    可以参考下:三大WEB服务器对比分析(apache ,lighttpd,nginx)

    PHP-FPM是为PHP内核编写的补丁,用来根据需要处理FastCGI进程的启动,停止以及重启。有点在于:

    1. 较低的内存占用率(因为nginx单独运行时不用加载整个PHP环境)。
    2. 轻松地管理用户权限( 因为PHP可以在你的服务器进程中管理不同的用户)。
    3. 当PHP崩溃时,nginx可以照常运行。

    nginx+php-fpm 能比apache+php_mod的方式使用更少内存,承载跟高负载。

    安装

    1.nginx的安装

    wget http://nginx.org/keys/nginx_signing.key
    apt-key add nginx_signing.key

    echo "deb http://nginx.org/packages/ubuntu/ trusty nginx" >> /etc/apt/sources.list

    echo "deb-src http://nginx.org/packages/ubuntu/ trusty nginx" >> /etc/apt/sources.list
    根据ubuntu的版本不同 trusty 要替换成其他的
    apt-get update
    apt-get install nginx

    如有问题请参考官网文档:nginx安装方法

    安装过程遇到一个问题  

    chown: invalid group: ‘nginx:adm’  ,表示没有组adm,groupadd adm后重新apt-get install nginx

     2.php-fpm的安装

    apt-get install php5-fpm

     netstat -anop  

     表示安装的nginx和php-fpm都已启动

    3.修改nginx和php-fpm配置

    参考张宴大牛写的  Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)

    修改配置后重启php-fpm和nginx

    service php5-fpm reload

    service nginx reload

    service php5-fpm reload 失败 ,于是我 ps -aux | grep php 找到php5-fpm进程号,杀掉,然后service php5-fpm start重启fpm

     修改nginx配置后,重启报错

    nginx: [warn] the "log_format" directive may be used only on "http" level in /etc/nginx/nginx.conf:84

    "log_format" 放错了位置 不应该放在server节点 ,应该放在http节点,调整后重启好了

    4.mysql的安装

    类似nginx和php5-fpm,过程比较顺利,不多讲

     部署博客

    下载onethink源码包

    wget http://down.thinkphp.cn/onethink.php?key=MTQwMzc1ODU3OLvbf3yWZZmryHtsnb6p3Nuuo3PZsaRp3LKcY6uypa2nrcusoIKGf6LAiIGhst2qmrqQiMmxym6bxot0nbF8gKfGz4tnlXmhq8dla62wzafLro2D2LDLet6xoaOkyHx_pK3Pe66Xea2mv2Z5ZcW6ntq5fGuXxLl6zr2EcHE

    mv onethink.php?*  onethink.zip

    unzip onethink.zip

    cp -R wwwroot/*  /var/www/html

    访问 http://hostname/install.php 按步骤提示部署好博客

    压力测试

    服务器配置大致情况 digitalocean的vps,512M内存,压力测试表明800并发下每分钟能处理1888个请求,30个请求会失败

    同时查看服务器内存及cpu消耗情况,还ok

     命令参考:

    • 知道安装包名称,查看安装后的文件

              dpkg -L <package>

    • 想知道某些安装包信息

              dpkg -l package-name-pattern
              比如想知道php相关的软件
              dpkg -l php*

    • 想知道文件是属于哪个安装包的

             dpkg -S filename-search-pattern

    • 想知道某具体安装包是否安装

             dpkg -s <package>

     参考阅读:

  • 相关阅读:
    jsp页面数据分页模仿百度分页效果
    java EL表达式
    服务器端javascript——Rhino和Node
    HBase协处理器
    Hbase 计数器
    javascript正则表达式(二)——方法
    javascript正则表达式(一)——语法
    javascript模块化
    使用sqoop工具从oracle导入数据
    HBASE API操作问题总结
  • 原文地址:https://www.cnblogs.com/xuntu/p/3809580.html
Copyright © 2020-2023  润新知