Nginx教程

Linux Nginx部署

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

内容概要

  • Nginx的配置详细和部署

内容详细

什么是web服务

        web就是B/S架构

web服务器软件

        1、apache
        网络模型
            select
            poll
            epoll

        2、Nginx

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

部署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


        2、编译安装
            [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

平滑增加Nginx模块

        增加模块必须重新编译。
        [root@web01 ~]# tar -xf nginx-1.20.2.tar.gz
        [root@web01 ~]# cd nginx-1.20.2
        [root@web01 nginx-1.20.2]#./configure  --with-http_ssl_module
        [root@web01 nginx-1.20.2]#make 
        [root@web01 nginx-1.20.2]#make install 

Nginx的命令

        1、-v : 打印版本号
        [root@web01 ~]# nginx -v
        nginx version: nginx/1.20.2

        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 

        3、-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

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

        5、-q :打印错误日志

        6、-s : 操作进程
            stop	:停止
            quit	:退出
            reopen	:重启
            reload	:重载
        7、-p : 指定nginx的工作目录
        8、-e : 指定错误日志路径
        9、-c : 指定配置文件的路径
        10、-g : 设置一个全局的Nginx配置项
        [root@web01 ~]# nginx -g 'daemon off;'

Nginx配置文件

        全局配置和模块配置

        1、全局配置
            1、user : 指定Nginx的启动用户
            2、worker_processes : 定义Nginx的worker进程数
                auto === CPU数量
            3、error_log : 错误日志路径
            4、pid : pid的存放文件路径
            5、events : 模块配置
                5.1、worker_connections :每一个worker进程最多同时接入多少个请求
                5.2、use : 指定Nginx的网络模型
            6、http : web服务的模块
                6.1、include : 加载外部的配置项
                6.2、default_type : 如果找不到文件的类型,则按照指定默认类型处理
                6.3、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"}'; # 定义json格式
                    access_log /var/log/nginx/access.log json ;
                6.4、sendfile : 高效读取文件
                6.5、keepalive_timeout : 长连接保持连接的
                    HTTP 1.0 短链接
                    HTTP 1.1 长连接
                6.6、server : 网址模块
                    6.6.1、listen : 监听的端口
                    6.6.2、server_name : 定义域名
                    6.6.3、location : 访问路径
                        6.6.3.1、root : 指定网址路径
                        6.6.3.2、index : 指定网址的索引文件

部署小游戏

        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

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