Nginx 运维架构之(Nginx+PHP)

  1、首先我们来看下web服务器的排名情况

可以看到Nginx占有30.6%,Apache 52.0%,Nginx特点如下

1、配置简单,灵活,轻量。

2、高并发(静态小文件),静态几万的并发

3、占用资源少

4、功能种类比较多(web,cache,proxy),每一个功能都不是特别强

5、支持epoll模型,使得nginx可以支持高并发 Apache 选择 select模型

6、nginx可以搭配动态服务(FASTCGI接口)

6、利用nginx可以对ip限速,可以限制连接数

并发能力

nginx 1-3万  php 300-800  db 300-800.日pv2000万以下,并发1万以下都可以用nginx做反向代理

2、nginx的安装(centos6.7)

[[email protected] tools]#  yum install pcre pcre-devel openssl-devel -y
[[email protected] tools]# wget  http://nginx.org/download/nginx-1.6.3.tar.gz 
[[email protected] tools]# tar xf nginx-1.6.3.tar.gz 
[[email protected] tools]# cd nginx-1.6.3
[[email protected] nginx-1.6.3]# useradd -s /sbin/nologin -M nginx
[[email protected] nginx-1.6.3]# ./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx  --with-http_stub_status_module --with-http_ssl_module
[[email protected] nginx-1.6.3]# make && make install    
[[email protected] nginx-1.6.3]# ln -s /application/nginx-1.6.3/ /application/nginx
[[email protected] nginx-1.6.3]#  /application/nginx/sbin/nginx -t   检查语法
[[email protected] nginx-1.6.3]#  /application/nginx/sbin/nginx   启动nginx

简单截图下安装过程

访问下nginx服务

一份简单的nginx配置

[[email protected] conf]# cat nginx.conf
worker_processes  2;
events {
    worker_connections  1024;
}
http {
log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.martin.com martin.com;
        location / {
            root   html/www;
            index  index.php index.html index.htm;
        }
        
         
        location ~ .*\.(php|php5)?$ {
            root  html/www;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
               }
         access_log  logs/access_www.log  main;        
   }
            
    server {
        listen       80;
        server_name  bbs.martin.com;
        location / {
            root   html/bbs;
            index  index.php index.html index.htm;
        }
      
             
        location ~ .*\.(php|php5)?$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
               }
         access_log  logs/access_bbs.log  main;       
    }
###status
   server{
      listen 80;
      server_name status.martin.org;
      location / {
      stub_status on;
      access_log off;
        }
   }
}

3、数据库MySQL的安装

[[email protected] tools]# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49-linux2.6-x86_64.tar.gz   
 这是个二进制包,无需编译 
[[email protected] tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz 
[[email protected] tools]# useradd -s /sbin/nologin -M mysql
[[email protected] tools]# mv mysql-5.5.49-linux2.6-x86_64 /application/mysql-5.5.49 
[[email protected] tools]# ln -s /application/mysql-5.5.49/  /application/mysql
[[email protected] tools]#  /application/mysql/scripts/mysql_install_db --basedir=/application/mysql  --datadir=/application/mysql/data/ --user=mysql
[[email protected] tools]# sed -i ‘s#/usr/local/mysql#/application/mysql#g‘ /application/mysql/support-files/mysql.server 
[[email protected] tools]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld 
[[email protected] tools]# chmod +x /etc/init.d/mysqld

过程中的相关截图

4、php的安装

php的安装(5.3.27),需要先安装nginx和mysql

[[email protected] libiconv-1.14]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[[email protected] tools]# yum install zlib-devel libxml2-devel libjpeg-devel libiconv-devel -y
[[email protected] tools]# yum install freetype-devel libpng-devel gd-devel curl-devel libxslt-devel -y
[[email protected] libiconv-1.14]# yum -y install libmcrypt-devel mhash mhash-devel mcrypt libxslt-devel 
[[email protected] tools]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz 
[[email protected] tools]# tar xf libiconv-1.14.tar.gz 
[[email protected] tools]# cd libiconv-1.14
[[email protected] libiconv-1.14]# ./configure --prefix=/usr/local/libiconv
[[email protected] libiconv-1.14]# make && make install
[[email protected] tools]# tar xf php-5.3.27.tar.gz 
[[email protected] tools]# cd php-5.3.27
[[email protected] php-5.3.27]#  ./configure > --prefix=/application/php5.3.27 > --with-mysql=/application/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=nginx > --with-fpm-group=nginx > --enable-ftp
[[email protected] php-5.3.27]# make

报错如下

解决方法:

[[email protected] php-5.3.27]#  ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/
[[email protected] php-5.3.27]# touch ext/phar/phar.phar
[[email protected] php-5.3.27]# make && make install

[[email protected] php-5.3.27]# ln -s /application/php5.3.27/ /application/php
[[email protected] php-5.3.27]# cp php.ini-production /application/php/lib/php.ini
[[email protected] php-5.3.27]#  cd /application/php/etc/
[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf
[[email protected] etc]# cat php-fpm.conf
[global]
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
[[email protected] etc]#  /application/php/sbin/php-fpm

[[email protected] etc]#  netstat -lantup|grep php-fpm

/application/nginx/html/www
[[email protected] www]# cat index.php 
<?php
phpinfo()
?>

打开浏览器访问测试

至此整个架构完成,下次我们再介绍nginx+tomcat   nginx+keepalived

时间: 2024-08-02 07:02:45

Nginx 运维架构之(Nginx+PHP)的相关文章

2018年最新手把手教你搭建中小型互联网公司后台服务架构与运维架构

本课程主要是针对如何从无到有搭建中小型互联网公司后台服务架构和运维架构的课程,课程所涉及的内容均是当前应用最广泛的技术和工具.本课程所讲解的技术体系已经在多个中小型互联网公司中实战运行使用,目前运行已经非常稳定,数据量也是在不断持续增加.并且,这个技术体系也正在被其他很多互联网公司应用,希望通过此课程,让大家能快速熟练掌握各个技术,并且能实际应用到项目中.课程将会通过实际案例讲解,并且会提供完整的视频案例源码供学员学习使用,同时有需要的企业或学员可以直接拿本套教学案例代码来使用或者二次开发. 本

从5台服务器到两地三中心:魅族系统运维架构演进之路(含PPT)

从5台服务器到两地三中心:魅族系统运维架构演进之路(含PPT)

鸟哥?马哥?靠边站!今天猫哥带你玩千万PV级别运维架构实战

1.哼,从今天开始马哥linux,就是我猫哥的天下了!,马哥你奏凯! 我猫哥在此宣誓,从今以后马哥教育正式更名猫哥教育! 哼,信猫哥,得永生! 2.妹的,都好好给我学习,猫哥我盯着呢 3.猫哥我第一次出镜,给咱来个特写啊小伙,拍的好看了,猫哥就免费给你讲讲Linux运维之道. 4.哎哟,拍的还不赖,猫哥我算是45°角仰望星空了,来来,猫哥给你讲讲互联网运维架构实战. 5.猫哥2016全新千万PV架构和实战项目震撼上线 猫哥我弄得不赖吧,直接是真实某东源码级别项目,实战操练,不知某机构会不会来抄袭

java精品高级架构课,RocketMQ中间件,Mysql分布式集群,服务架构,运维架构视频教程

14套java精品高级架构课,缓存架构,深入Jvm虚拟机,全文检索Elasticsearch,Dubbo分布式Restful 服务,并发原理编程,SpringBoot,SpringCloud,RocketMQ中间件,Mysql分布式集群,服务架构,运 维架构视频教程 14套精品课程介绍: 1.14套精 品是最新整理的课程,都是当下最火的技术,最火的课程,也是全网课程的精品: 2.14套资 源包含:全套完整高清视频.完整源码.配套文档: 3.知识也 是需要投资的,有投入才会有产出(保证投入产出比是

从无到有搭建中小型互联网公司后台服务架构与运维架构视频教程

14套java精品高级架构课,缓存架构,深入Jvm虚拟机,全文检索Elasticsearch,Dubbo分布式Restful 服务,并发原理编程,SpringBoot,SpringCloud,RocketMQ中间件,Mysql分布式集群,服务架构,运 维架构视频教程 14套精品课程介绍: 1.14套精 品是最新整理的课程,都是当下最火的技术,最火的课程,也是全网课程的精品: 2.14套资 源包含:全套完整高清视频.完整源码.配套文档: 3.知识也 是需要投资的,有投入才会有产出(保证投入产出比是

中小型企业通用自动化运维架构

第1章 自动化运维架构 主要讲解了自动化运维的概念,分析了现在的自动化运维的面临的挑战.基于我对自动运维的理解,提出了中小企业自动化运维架构,并讲解了该架构.后续的章节,主要是实现这个架构. 1-1 课程介绍 1-2 自动化运维流程 第2章 服务器批量管理 Ansible Ansible作为一个优秀的IT资产管理.配置工具,这一章主要讲解了Ansible的使用,包括Ansible的安装.配置.使用,并且在课程的最后,结合我们公司业务的需求,实际演示了如何使用Ansible Playbook功能实

[运维-服务器 – 2A] – nginx下绑定域名

这个篇文章今天(2016-01-21)才有幸写了,因为自己对nginx部署以前没玩过,还得感谢下我们数字化的总经理.在这里记录下自己成长的经验,与遇到的问题. 因为自己的域名是在万网上买的,解析无法直接解析到子目录,所以必须改server配置. 首先说下自己的wordpress是怎么部署的,自己的ip直接映射到时www目录,wordpress目录是在www下面,所以自己的域名得 先用这个即homily.cn绑定到我自己的ip的root下(www目录),然后在用这个,显性URL 一直用这个,中间花

nginx运维实战之开山篇-安装时优化实战

本次博文议程如下: 1.1 NGINX安装和基本优化 测试环境:centos6.5 x64 ip 192.168.1.62 安装前基本优化详见 1.1.1 隐藏版本 为了防止被黑客扫描到web服务器信息,通过相对应的web服务器信息找出对应的版本漏洞,从而对web服务器进行入侵,nginx虽然功能强大,但是也是软件,软件就可能会有漏洞,例如nginx-0.6.32版本,默认情况下可能导致服务器错误的将任何类型的文件以php的方式进行解析,比如上传一个jpg格式的木马到论坛网站,通过漏洞解析成一个

漫漫运维路之Nginx基础

Nginx是当今最流行的WEB服务器一,其特性主要有以下几点: 1.模块化设计.较好的扩展性 Nginx虽然支持模块化,但尚不能向HTTPD那样支持动态模块加载 2.高可靠 Nginx工作时,由主控进程master直接生成多个worker进程,主控进程负责解析配置文件,并启动子进程,子进程直接负责处理客户端连接请求. 3.低内存消耗 Nginx采用了分阶段资源分配技术,使得其cpu和内存占用率极低,官方宣称10000个keepalive的nginx连接只需要2.5M内存. 4.支持热部署 在不停