nginx使用以及配置

nginx主要使用的地方就是用来进行反向代理的http服务器,

主流的Web服务器有:

1、Apache,开源免费,具有简单、高速、性能稳定等特点,可作代理服务器使用;

2、Nginx,是一种高性能的HTTP和反向代理web服务器,支持高并发和负载均衡;

3、IIS,适用于windows系统,可用于监视配置和控制Internet服务;

4、Tomcat,是一个开放源代码,运行servlet和JSP Web应用软件并基于Java的Web应用软件容器,性能稳定,且免费。

笔者日常主要开发用到的是nginx和tomcat, 静态资源使用niginx处理, 动态资源交由tomcat处理.

tomcat的默认的连接数是100个,而nginx最大的连接数是50000个并发的连接数.

  1. nginx的优势:
    • 高并发
      
    • 热部署
      
    • 反向代理,负载均衡,
      
    • 处理静态资源
      
  2. nginx的安装

linux环境,执行一下指令即可

   yum install gcc-c++
   yum install -y pcre pcre-devel
   yum install -y openssl openssl-devel

前置环境准备好了之后就可以开始正式的安装了, 将 nginx 压缩包拷贝至 linux 服务器,解压 nginx 压缩包。

第一步:解压并进入 nginx 安装目录

tar -zxvf nginx-1.12.2.tar.gz -C /opt/install

cd nginx-1.12.2 .

第二步:生成 makefile 文件

./configure --help 查询详细参数(参考本教程附录部分:nginx 编译参数)

参数设置如下:提示先创建该目录:mkdir -p /var/temp/nginx

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

第三步:编译并安装

make  install

第四步:复制 nginx 命令为全局命令

将 nginx 命令复制为全局命令之后,就可以在任意地方使用了。

cp /usr/local/nginx/sbin/nginx /usr/local/bin/

第五步:启动 nginx,并测试

cd /usr/local/nginx/sbin/

./nginx

 看到此页面即表示安装成功

若是涉及防火墙的安装可以通过一下指令进行查看

查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd --add-port=80/tcp --permanent

重启防火墙

firewall-cmd –reload .

nginx配置

我们所谓的nginx的配置其实都是指的是对nginx.conf文件的修改 nginx的文件的修改实际上就是这个配置文件,此文件分为三个部分:

第一部分:全局块

从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配 置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类 型以及配置文件的引入等。比如上面第一行配置的:worker_processes 1; 这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约。

第二部分:events 块

比如上面的配置:

events {

worker_connections 1024;

} .

events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的 网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 worker_ process可以同时支持的最大连接数等。

上述例子就表示每个 worker_process 支持的最大连接数为 1024.这部分的配置对 Nginx 的性能影响较大,在 实际中应该灵活配置。

第三部分:http 块

这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这 里。需要注意的是:http 块也可以包括 http 全局块、server 块。

1、全局 server 块

最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。

2、location 块

一个 server 块可以配置多个 location 块。

这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称

(也可以是 IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、

数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。

 

 

...                 #全局块

event{              #events块
    ...
}

http{               #http块

    server{         #server块
        ...         #server全局块

        location{   #location块
            ...
        }

        location{   #location块
            ...
        }
    }

    server{         #server块
        ...
    }
    ...             #http全局块
}

上面就是关于nginx.conf文件的主要功能拨快的配置信息

下面讲一下如果使用:

#### 全局块 开始 ####
user nobody nobody;                 #配置允许运行nginx服务器的用户和用户组
worker_processes 3;                 #配置允许nginx进程生产的worker process数
error_log logs/error.log;           #配置nginx服务器运行对错误日志存放路径
pid nginx.pid;                      #配置nginx服务器运行时的pid文件存放路径和名称
#### 全局块 结束 ####

#### events块 开始 ####
events
{
    ues epoll;                      #配置事件驱动模型
    worker_connections 1024;        #配置最大连接数
}
#### events块 结束 ####

#### http块 开始 ####
http
{
    include mime.types;             #定义MIME-Type
    default_type application/octet-stream;   
    sendfile on;                   #配置允许使用sendfile方式传输
    keepalive_timeout 65;           #配置连接超时时间
    log_format access.log '$remote_addr-[$time_local]-"$request"-"$http_user_agent"';     #配置请求处理日志的格式

    #### server块 开始 ####
    ##配置虚拟主机 myServerl
    server
    {
        listen  8081;              #配置监听端口和主机名称
        server_name myServer1;

        access_log  /myweb/server1/logaccess.log;#配置请求处理日志存放路径
        error_page 404  /404.html;     #配置错误页面

        location  /server1/location1 { #配置处理/server1/location1 请求的location
            root  /myweb;
            index index.svr1-loc1.htm;
        }

        location  /server1/location2 { #配置处理/server1/location2 请求的location
            root  /myweb;
            index index.svr1-loc2.htm;
        }
    }

    server
    {
        listen  8082;
        server_name  192.168.1.3;
        ac
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值