Nginx

1、优缺点

Nginx的主要优点有可以实现高并发、部署简单、内存消耗少、成本低等待。
Nginx的主要缺点有rewrite功能不够强大,模块没有Apache多

2、搭建Nginx

在Linux操作系统下搭建Nginx服务器,很多时候会出现不同的错误,在此,我们对搭建过程中出现的错误进行一些总结。主要有这些类型:防火墙问题,缺少gc++,缺少pcre、zlib等
su进入root模式
yum -y install gcc gcc-c++ sutoconf automake 安装gcc
./config 解决未安装配置问题


su进入root模式
yum -y install pcre pcre-devel 安装PCRE库
./config 解决未安装配置问题

yum -y install zlib zlib-devel 安装zlib
./config 解决未安装配置问题


make
make install

检查Nginx是否正确安装:cd /进入根目录
cd /user/local
ls 如果目录里有nginx就证明安装成功了

Linux操作系统下启动nginx服务器:
/usr/local/nginx/sbin/nginx -c /user/local/nginx/conf/nginx.conf

3.Ngnix的启动与停止

启动:Nginx地址 -c Nginx配置文件地址
/user/local/nginx/sbin/nginx -c /user/local/nginx/cont/nginx.conf

停止有三种方式,第一种是从容停止、第二种快速停止、第三种是强制停止

从容停止:
查看Nginx进程号":ps -ef|grep nginx
kill -QUIT 进程号

快速停止:kill TREM 进程号 或 kill -INT 进程号

强制停止:pkill -9 nginx

重启:
查看配置文件是否正确:
第一种方式:
cd /user/local/nginx/sbin
./nginx -t

第二种方式:Nginx地址 -t -c Nginx配置文件地址
/user/local/nginx/sbin/nginx -t -c /user/local/nginx/cont/nginx.conf

重启:

第一种方式:
cd /user/local/nginx/sbin  
./nginx -s reload

第二种方式:
kill -HUP 进程号

4.Nginx 常见的信号控制


HUP:重启
QUIT:从容关闭
TERM:快速关闭
INT:从容关闭
USR1:切换日志文件
USR2:平滑升级可执行进程
WINCH:平滑关闭工作进程

例:kill -USR2 2255

平滑升级:有时候需要对服务器进行升级成更高的版本,如果强行升级会对运行者的进程有影响


cd /usr/local/nginx 进入执行文件
cd sbin
ls
./nginx -v 查看当前nginx版本

去下载新版本
解压
./config
make
cd objs  
cd /user/local/nginx/sbin 进入老版本的可执行文件
cp nginx nginx.old
vf /home/weiwei/下载 
cd nginx-1.9.2 进入新版本
cp -rfp objs/nginx/usr/local/nginx/sbin  将老版本的文件复制到新版本文件下

5.Nginx 配置文件总览

设置用户
#user  nobody;
工作衍生进程数
worker_processes 4;

设置错误文件的存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

设置pid存放路径(pid是控制系统中的重要文件)
#pid        logs/nginx.pid;

设置最大连接数
events {
     worker_connections 40960;
}
http协议相关信息
http {
    include       mime.types;
    default_type  application/octet-stream;
  

日志文件配置                                
    #log_format  main  '$remote_addr(客户端的IP地址) - $remote_user(客户端的用户名) [$time_local] "$request(请求的url)" '
    #                  '$status(请求状态) $body_bytes_sent(发送给客户端的字节数) "$http_referer" '(原网页)
    #                  '"$http_user_agent"(客户端浏览器的信息) "$http_x_forwarded_for(也是客户端的IP地址)"';
        
    #access_log  logs/access.log  main; 日志文件存储路径

    access_log off;关闭日志文件    
     sendfile  on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
     keepalive_timeout 65;
是否开启gzip压缩  

  #gzip  on;
  #gzip_min_length 1k  小于1k不用压缩
  #gzip_buffers 4 16k 生成的缓存资源

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;   监听服务器端口
    #    listen       somename:8080;  
    #    server_name  somename  alias  another.alias;   服务器名称

    #    location / {
    #        root   html;   默认的首页
    #        index  index.html index.htm;
    #        autoindex on;配置自动列目录
    #    }

    #    location ~.*\ (jpf|png|swf){   缓存文件
    #        expire 2d; 两天后自动清除
    #    }
    #}
  

6.Nginx虚拟主机的配置


通常情况下,为了是每个服务器都可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的。这些服务器是根据虚拟化技术分出来的,这样,一台服务器就可以虚拟成很多子服务器。我们吧子服务器叫做虚拟主机。
Nginx虚拟主机配置的步骤主要有两个:第一步配置IP地址,第二部绑定IP地址与虚拟主机

\q:退出命令

7.Nginx负载均衡

Nginx是一款可以通过反向代理实现负载均衡的服务器,使用Nginx服务实现负载均衡的时候用户的访问首先会访问Nginx服务器,然后Nginx服务器再从服务器集群表中选择压力较小的服务器,然后将访问请求引向服务器。若服务器集群中的某个服务器崩溃,那么从待选服务器列表中将该服务器删除,也就是说一个服务假如崩溃了,那么Nginx肯定不会将访问引入服务器了

8.Upstream 


Upstream模块是Nginx服务器一个重要模块。Upstream模块实现在轮询和客户端ip之间实现后端的负载均衡。常用的指令有ip_hash指令、server指令和upstream指令

在负载均衡系统中,假如用户在某台服务器上登录,那么如果该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会定位到服务器集群中的一个服务器,那么此时如果将已经登录服务器A的用户再定位到其他服务器,显然不妥。故而,我们可以采用ip_hash指令解决这个问题,如果客户端请求已经访问了服务器A并登录,那么第二次请求的时候,会将请求通过哈希算法自动定位到该后端服务器

只需要在服务器列表前加一行ip_hash就可以

server 可以设置每个服务器的权重,默认=1,权重越大优先级越高

9.Nginx+PHP

cd /usr/local/php/etc  进入PHP配置文件的地方
编辑php-fpm.conf文件
/usr/local/php/sbin/php-fpm start 启动php-fpm
useradd www创建用户(可选,报错执行)
groupadd www创建组(可选,报错执行)

cd /usr/local/nginx/conf
touch facgi.conf 创建一个新的配置文件
nginx.conf主配置文件http模块加以下代码


location ~.*\. (php|php5)?$
{
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php
    include facgi.conf   引用创建的配置文件
}

kill -9 nginx 强行杀死nginx进程
重新启动nginx

设置自启动
vi /etc/rc.local
/usr/local/php/sbin/php-fpm start
/usr/local/nginx/sbin/nginx

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值