Windows系统下载安装Nginx以及host文件的介绍

Windows系统下载安装Nginx以及host文件的介绍

1. Nginx的简单介绍

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件(IMAP/POP3)代理服务器。Nginx占用内存少,并发能力强。

1.1 Nginx的安装

Nginx下载地址:http://nginx.org/en/download.html
这里选择了Windows的1.19.4版本
在这里插入图片描述

下载完成后解压压缩包
接下来测试一下是否能正常运行
双击nginx.exe打开或者根目录输入cmd打开输入命令,会发现有个窗口闪一下

1.启动命令      start  nginx
2.重启命令      nginx  -s  reload  (启动过才能输入重启命令)
3.停止命令      nginx   -s  stop

在这里插入图片描述

在这里插入图片描述

nginx启动后,会多出两个进程,其中占内存大的为主进程,主要为用户提供反向代理服务;其中占内存小的为守护进程,是为了主进程意外关闭的。所以在关闭Nginx时需要先结束守护进程才能关闭主进程。
测试是否能正常使用
浏览器输入localhost会出现欢迎界面表示成功。
在这里插入图片描述

1.2 Nginx配置文件说明

Nginx服务器的基础配置和默认配置都在这里–>打开conf文件夹下的nginx.conf文件

下面简单说明一下配置文件

########### 每个指令必须有分号结束。##################
user administrator administrators;  #配置用户或者组,默认为nobody nobody。#worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
 }
http {
    include       mime.types;   #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型,默认为text/plain
    #access_log off; #取消服务日志    
    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
    access_log log/access.log myFormat;  #combined为日志格式的默认值
    sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
    keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。

    upstream mysvr {   
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #热备
    }
    error_page 404 https://www.baidu.com; #错误页
    server {
        keepalive_requests 120; #单连接请求上限次数。
        listen       4545;   #监听端口
        server_name  127.0.0.1;   #监听地址       
        location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
           #root path;  #根目录
           #index vv.txt;  #设置默认页
           proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表
           deny 127.0.0.1;  #拒绝的ip
           allow 172.18.5.54; #允许的ip           
        } 
    }
  }

http{}块下可以包含多个server{}块,一个反向代理就是一个server

server {
    #监听的端口号
    listen 80;
    #监听的域名
    server_name localhost;
    
    #进行反向代理配置
    location / {
        #root关键字:代表磁盘地址
        root html;      #默认为跟目录下的html文件夹
        #index关键字:默认的欢迎界面
        index index.html index.htm;
    }
}
1.3 自己配置并测试

接下来自己写一个配置图片的代理服务器测试一下

  • 首先在F盘创建一个文件夹img,其中保存一张图片 hello.png
  • 在http{}块下配置图片的代理服务器
server {
        listen 8080;
        server_name 127.0.0.1;
        location / {
            root F:img;
        }
  }

之后浏览器输入http://127.0.0.1:8080/hello.png 就可以显示这张图片。
在这里插入图片描述

2. hosts文件的简单介绍

hosts文件是操作系统为了方便开发,在本地形成的域名IP的映射文件,该文件只对本机有效。
位置:C:\Windows\System32\drivers\etc\hosts
示例:

#IP 域名 的映射关系,表示在浏览器输入hello.word.com就相当于输入例如127.0.0.1
127.0.0.1 hello.word.com
#可以配置多条映射
127.0.0.1 www.img.com

3. hosts文件和Nginx的配合使用实现域名的代理

3.1 如果想要通过http://hello.world.com域名访问localhost:8080的服务器
  • 编辑hosts文件
127.0.0.1 hello.world.com
  • 编辑nginx.conf配置文件
server {
        listen 8080;
        server_name hello.world.com;
        location / {
            root F:img;
        }
  }

浏览器输入hello.world.com:8080/hello.png测试
在这里插入图片描述

3.2 如果想要通过http://hello.world.com域名访问真实服务器地址http://localhost:8090
  • 编辑hosts文件
127.0.0.1 hello.world.com
  • 编辑nginx.conf配置文件
server {
        listen 80;
        server_name hello.world.com;
        location / {
            #代理真实的服务器地址
            proxy_pass http://localhost:8090;
        }
  }

启动提前写好的端口号为8090的项目,启动Nginx
浏览器输入http://hello.world.com/,以为80端口可以省略,所以这里相当于http://hello.world.com:80/地址取访问真实的http://localhost:8090地址
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Nginx是用于HTTP,HTTPS,SMTP,POP3和IMAP协议的开源反向代理服务器,以及负载平衡器,HTTP缓存和Web服务器(原始服务器)。Nginx项目一开始就非常关注高并发,高性能和低内存使用。它获得了两节式BSD许可,并在Linux,BSD变体,Mac OS X,Solaris,AIX,HP-UX以及其他* nix版本上运行。它还具有用于Microsoft Windows的概念证明端口。 托管一些简单的静态内容 $ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx 或者,Dockerfile可以使用简单的方法来生成包含必要内容的新图像(这比上面的绑定安装要干净得多): FROM nginx COPY static-html-directory /usr/share/nginx/html 将此文件放置在与目录相同的目录中(“ static-html-directory”),运行docker build -t some-content-nginx .,然后启动容器: $ docker run --name some-nginx -d some-content-nginx 暴露外部端口 $ docker run --name some-nginx -d -p 8080:80 some-content-nginx 然后,您可以在浏览器中点击http://localhost:8080或http://host-ip:8080。 复杂的配置 $ docker run --name my-custom-nginx-container -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx 有关nginx配置文件的语法的信息,请参阅官方文档(特别是《入门指南》)。 如果您希望采用默认配置,请使用以下类似内容从运行的nginx容器中复制它: $ docker run --name tmp-nginx-container -d nginx $ docker cp tmp-nginx-container:/etc/nginx/nginx.conf /host/path/nginx.conf $ docker rm -f tmp-nginx-container 也可以使用简单的Dockerfile(在中/host/path/)更干净地完成此操作: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf 如果您CMD在Dockerfile中添加了自定义,请确保将包含-g daemon off;在其中CMD,以使nginx保持在前台,以便Docker可以正确跟踪进程(否则您的容器将在启动后立即停止)! 然后使用构建图像docker build -t custom-nginx .并按如下所示运行它: $ docker run --name my-custom-nginx-container -d custom-nginxNginx配置中使用环境变量 现成的nginx不支持大多数配置块中的环境变量。但是,envsubst如果您需要在nginx启动之前动态生成nginx配置,则可以将其用作解决方法。 这是使用docker-compose.yml的示例: web: image: nginx volumes: - ./mysite.template:/etc/nginx/conf.d/mysite.template ports: - "8080:80" environment: - NGINX_HOST=foobar.com - NGINX_PORT=80 command: /bin/bash -c "envsubst /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'" mysite.template然后,该文件可能包含如下变量引用: listen ${NGINX_PORT}; 在只读模式下运行Nginx 要以只读模式运行nginx,您需要将Docker卷安装到nginx写入信息的每个位置。默认的nginx配置需要对/var/cache和的写权限/var/run。可以通过如下运行nginx轻松地完成此操作: $ d
Nginx的反向代理 http://www.cnblogs.com/zhrxidian/p/5491285.html tomcat+nginx+redis实现均衡负载、session共享(二) 今天我们接着说上次还没完成session共享的部分,还没看过上一篇的朋友可以先看下上次内容,http://www.cnblogs.com/zhrxidian/p/5432886.html。 1.redis简介及下载安装 作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API。 与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久化,而且redis是周期性的将数据写到硬盘上。这就意味着一旦我们服务器出现断电、重启之类的情况,我们很可能会出现数据丢失的情况,所以不建议使用redis来存放关键的数据。当然,也正因为redis读写数据都使用内存,所以它的速度是非常快的,很适合我们来存放一些临时性的数据。 此外,redis能实现的作用很多,诸如队列、缓存之类的,但我也还没使用过,无法在这里为大家说明,但不影响我们今天的session共享功能。 首先我们先下载redis,这是windows版本的下载地址 https://github.com/ServiceStack/redis-windows。 可以点击右边下载全部文件,但感觉没必要,而且下载速度偏慢,建议进入downloads里面下载我们所需的redis包即可。 redis在windows下是免安装的,下载完成后,解压,将文件夹复制到自己某个盘中就好了。解压后是这个样子的。 一开始redis是默认不需要密码,如果想要设置密码,可以进入redis.windows.conf文件下找到requirepass,删除前面的#号,在其后面便可以设置密码,我这里设成了123456。 下面我们打开redis。首先打开cmd,进入我们redis目录下,输入redis-server.exe redis.windows.conf。出现下面界面,则打开成功。(不可偷懒想双击redis-server.exe完事,这样虽然也能打开,但不会加载配置文件)。 另外和别的数据库一样,我们需要安装一个辅助的可视化工具Redis Desktop Manager,这是下载地址:http://redisdesktop.com/download。 我们下载windows版本,安装完成后,还没有任何连接对象,那就让我们给它添加一个。点击下方的connect to redis server,出现个弹出框。然后Name我们可以随便输,Host添我们redis服务器的ip地址,本地可以直接填写localhost,端口默认为6379,Auth就是密码,不是必填项,如果没设置密码可不填,点击OK,建立完成。 至此,我们的准备工作都已经完成,下面开始我们的spring与redis的整合之旅。 2.Spring与Redis的整合之旅 这是上篇文章结束时我的项目目录。 其实Spring本身就有提供对redis的支持,就是spring-session,我们只需将这个在pom.xml添加如下代码,maven便会自己下载所需的jar包及依赖包。 1 <dependency>2 <groupId>org.springframework.session</groupId>3 <artifactId>spring-session-data-redis</artifactId>4 <version>1.1.1.RELEASE</version>5 <type>pom</type>6 </dependency> 随后我们在resources文件夹中新建一个redis.properties,往里面添加如下内容。 再新建一个spring-redis.xml,往里面添加我们redis相关的配置。其中maxInactiveIntervalInSeconds是设置session有效时间,以秒为单位,但实际上无论怎么设,session真实有效时间还是会比我们设置的稍微长一些。 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http:/
同一ip(都是80端口)可以绑定无数个域名 配置简单 里面包含一个配置文档:配置文档.doc 看一遍 大部分人都会设置了。 内容如下: NGNIX配置文档 1.解压文件到相应文件夹下(我解压到D:/下) (这里是图片) 目录结构如上 2.在D:\nginx\目录下用记事本新建一个文本文档改名为 proxy.conf。 proxy.conf里面的内容格式如下: server { listen 80; server_name www.*****.com; location / { proxy_pass http://192.168.45.1:8045; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } (完整拷贝上面的内容server_name www.*****.com; 这里面的域名即是来访域名 proxy_pass http://192.168.45.1:8045; 这里面的域名(http://192.168.45.1:8045)即是内部跳转的地址,将该内容拷贝多份实现不同来访域名的跳转) 如下: 3.找到D:\nginx\conf下nginx.conf文件用记事本打开 在文段末尾大括号前加上 include proxy.conf;(就是加载刚刚新建的那个文件(注意路径)) 4.进入cmd 进入D盘: d: 进到nginx文件夹下:cd nginx 启动nginx.exe:start nginx Cmd窗口会闪一下 进程里面会多了个 浏览器里面输入:http://127.0.0.1 将出现: Nginx的欢迎界面。 注: nginx -s stop // 停止nginx nginx -s reload // 重新加载配置文件 nginx -s quit // 退出nginx nginx-1.3.9.zip(这个版本) (1分钟搞定只是夸张说法啦,给你增加信心的啦,真正的操作起来,因人而异,没搞定的耐心再试试,自己xp系统亲测成功,不喜欢的无拍砖哦,实在搞不定的加我qq852208555 一起研究下 谢谢!)
代理怎么做? 好的,我明白了。以下是安装Nginx并配置反向代理的步骤: 1. 首先下载NginxWindows版本,可以从官网 https://nginx.org/en/download.html 下载稳定版本。 2. 将下载好的Nginx压缩包解压到一个目录下,例如解压到D:\nginx目录下。 3. 打开cmd命令行窗口,进入到D:\nginx目录下的nginx.exe所在的目录。 4. 输入命令“nginx -t”,检查Nginx配置文件是否正确,如果出现“nginx: configuration file D:\nginx\conf\nginx.conf test is successful”则说明配置正确。 5. 配置反向代理,找到D:\nginx\conf\nginx.conf文件,并将以下代码添加到http{}标签内: ``` server { listen 80; server_name localhost; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 其中,listen表示监听端口,server_name表示服务器名字,location /表示请求的URL,proxy_pass表示转发到的服务地址,$host表示主机名,$remote_addr表示客户端IP,$proxy_add_x_forwarded_for表示客户端IP地址。 6. 保存配置文件并重启Nginx服务,可以使用命令“nginx -s reload”重启Nginx。 7. 验证反向代理是否生效,可以在浏览器中访问http://localhost,如果能够正常展示代理的服务,则说明反向代理配置成功。 希望以上步骤能够帮助你成功安装Nginx并配置反向代理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小辰~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值