Nginx教程

Nginx

本文主要是介绍Nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Nginx

 

Nginx简介

  什么是web服务

    web就是B/S架构

 

  web服务器软件

    网络模型

      select  while循环一直询问访问需求

      poll

      epoll    在端口监控有需求立马相应

 

    apache:  select

 

    Nginx   :

        windows   中   select

        linux    中    epoll

        官网:https://nginx.org/

        软件:https://nginx.org/download/

 

Nginx的命令

  -v : 打印版本号

    [root@web01 ~]# nginx -v

      nginx version: nginx/1.20.2

 

  -V : 打印版本号和配置项

    [root@web01 ~]# nginx -V

      nginx version: nginx/1.20.2

      built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

      built with OpenSSL 1.0.2k-fips 26 Jan 2017

      TLS SNI support enabled

      configure arguments: --prefix=/etc/nginx

 

  -t : 检查配置文件

    [root@web01 ~]# nginx -t

      nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

      nginx: configuration file /etc/nginx/nginx.conf test is successful

 

  -T : 测试配置文件并启动

 

  -q :打印错误日志

 

  -s : 操作进程

    stop      :停止

    quit    :退出

    reopen :重启

    reload  :重载

 

  -p : 指定nginx的工作目录

 

  -e : 指定错误日志路径

 

  -c : 指定配置文件的路径

 

  -g : 设置一个全局的Nginx配置项

    [root@web01 ~]# nginx -g 'daemon off;'

 

Nginx配置文件

  全局配置和模块配置

  全局配置

    user                       : 指定Nginx的启动用户

 

    worker_processes : 定义Nginx的worker进程数

      auto === CPU数量

 

    error_log     : 错误日志路径

 

    pid               : pid的存放文件路径

 

    events         : 模块配置

      worker_connections :每一个worker进程最多同时接入多少个请求

      use            : 指定Nginx的网络模型

 

    http              : web服务的模块

      include     : 加载外部的配置项

      default_type : 如果找不到文件的类型,则按照指定默认类型处理

      log_format    : 定义日志格式

log_format json '{"@timestamp":"$time_iso8601",'
  '"host":"$server_addr",'
  '"service":"nginxTest",'
  '"trace":"$upstream_http_ctx_transaction_id",'
  '"log":"log",'
  '"clientip":"$remote_addr",'
  '"remote_user":"$remote_user",'
  '"request":"$request",'
  '"http_user_agent":"$http_user_agent",'
  '"size":$body_bytes_sent,'
  '"responsetime":$request_time,'
  '"upstreamtime":"$upstream_response_time",'
  '"upstreamhost":"$upstream_addr",'
  '"http_host":"$host",'
  '"url":"$uri",'
  '"domain":"$host",'
  '"xff":"$http_x_forwarded_for",'
  '"referer":"$http_referer",'
  '"status":"$status"}';
access_log /var/log/nginx/access.log json ;

      sendfile              : 高效读取文件

      keepalive_timeout : 长连接保持连接的

        HTTP 1.0 短链接

        HTTP 1.1 长连接

      server         : 网址模块

        listen      : 监听的端口

        server_name    : 定义域名

        location     : 访问路径

          root    : 指定网址路径

          index : 指定网址的索引文件

 

Nginx部署 

  1.yum安装

    [root@web01 ~]# vim /etc/yum.repos.d/nginx.repo

    [root@web01 ~]# yum install nginx -y

    [root@web01 ~]# systemctl stop httpd

    [root@web01 ~]# systemctl start nginx

  详情见yum仓库

 

  2.二进制安装

 

  3.编译安装

    [root@web01 ~]# wget https://nginx.org/download/nginx-1.20.2.tar.gz

    [root@web01 ~]# tar -xf nginx-1.20.2.tar.gz

    [root@web01 nginx-1.20.2]# ./configure

    [root@web01 nginx-1.20.2]# make

    [root@web01 nginx-1.20.2]# make install

 

案例

  1.上传代码

 

  2.编辑配置文件

    [root@web01 conf.d]# vim /etc/nginx/conf.d/game.conf

server {
  listen 80;
  server_name game.test.com;
  location / {
    root /opt/Super_Marie;
    index index.html;
  }
}

 

  3.测试配置文件是否正常

    [root@web01 conf.d]# nginx -t

      nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

      nginx: configuration file /etc/nginx/nginx.conf test is successful

 

  4.重启Nginx

    [root@web01 conf.d]# systemctl restart nginx

 

  5.域名解析

    C:\Windows\System32\drivers\etc\hosts

172.16.1.7 game.test.com

 

 

END

 

这篇关于Nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!