windows 安装 Nginx 与使用

目录

nginx下载地址:nginx: download

 解压后运行 nginx:

打开 localhost:

Nginx打开本地指定文件:

编辑 nginx.conf 文件:

 修改指向目录:

 打开:localhost/

 结束 nginx:

Windows命令操作:

配置域名

添加多域名报错:

配置 https 443

http 重定向 https

上传文件大小限制

开机启动(注册为服务)

参考


nginx下载地址:nginx: download

 解压后运行 nginx:

默认启用80端口,需要保证80端口不被占用,cmd下面命令查看80端口使用情况

或者打开 nginx-1.18.0\conf\nginx.conf 文件更改端口

运行成功后任务管理器会有两个 nginx.exe

netstat -aon|findstr ":80"

打开 localhost:

显示 Welcome to nginx! 代表启动成功

默认打开的是 html 文件夹下的页面

Nginx打开本地指定文件:

例如:打开F盘的图片

编辑 nginx.conf 文件:

 修改指向目录:

注释 root    html;

添加 alias    F:/;

 打开:localhost/

 结束 nginx:

打开任务管理器 ==》 点击名称排序 ==》 找到 nginx ==》 右键结束

Windows命令操作:

在nginx目录执行:按住 shift+鼠标右键,打开Powershell窗口

查看版本:

nginx -v

启动服务:

start nginx

 停止服务:

nginx -s stop

强制关闭nginx

taskkill /f /t /im nginx.exe

重新加载:(配置文件被修改后执行它)

nginx -s reload

配置域名

proxy_pass 为重定向到指定 url

server {
	listen       80;
	server_name  test.com;
	location / {
	  proxy_pass http://127.0.0.1:3000;
	}
}

server {
	listen       80;
	server_name  www.test.com;
	location / {
	  proxy_pass http://127.0.0.1:3000;
	}
}

server {
	listen       80;
	server_name  test11.com,www.test11.com;
	location / {
	  proxy_pass http://127.0.0.1:3001;
	}
}

server {
	listen       81;
	server_name  localhost;
	location / {
	  proxy_pass http://127.0.0.1:3000;
	}
}	

添加多域名报错:

D:\nginx-1.18.0>nginx -s reload
nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 32

 添加:server_names_hash_bucket_size   1024;

http {
    include       mime.types;
    default_type  application/octet-stream;

	server_names_hash_bucket_size   1024;
    
    .......
}

配置 https 443

conf 目录,新建文件夹 cert ,放入下载的证书(nginx版本)

 

 编辑 nginx.conf 文件

http {
    include       mime.types;
    default_type  application/octet-stream;
	server_names_hash_bucket_size   1024;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  www.xxxx.com,xxxx.com;

        location / {
            proxy_pass http://127.0.0.1:8000;
        }
    }

    # HTTPS server
    server {
        listen       443 ssl;
        server_name  www.xxxx.com;

        # 证书路径 ----->
        ssl_certificate      cert/www.xxxx.com.crt;
        ssl_certificate_key  cert/www.xxxx.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://127.0.0.1:3000;
        }
    }

}

重载配置

nginx -s reload

本地带 https 访问测试一下 ==> 本地可以 ==> 外网无法访问 ==> 去防火墙放行 443 端口

 防火墙放行:控制面板 ==> Windows Defender 防火墙 ==> 高级设置 ==> 入站规则

http 重定向 https

http {
    include       mime.types;
    default_type  application/octet-stream;
	server_names_hash_bucket_size   1024;

    server {
        listen       80;
        #填写绑定证书的域名
        server_name  www.xxxx.com,xxxx.com;

        #(第一种)把http的域名请求转成https
        #return 301 https://$host$request_uri;
    
        #(第二种)强制将http的URL重写成https
        rewrite ^(.*) https://$server_name$1 permanent; 
    }

    # HTTPS server
    server {
        listen       443 ssl;
        server_name  www.xxxx.com;

        # 证书路径 ----->
        ssl_certificate      cert/www.xxxx.com.crt;
        ssl_certificate_key  cert/www.xxxx.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://127.0.0.1:3000;
        }
    }

}

上传文件大小限制

client_max_body_size 允许客户端上传文件的大小(默认为1m,如果设置为0,表示上传文件大小不受限制)

server {
  listen       80;
  server_name  www.test.com;
  client_max_body_size 0;
  location / {
    proxy_pass http://127.0.0.1:8080;
  }
}

开机启动(注册为服务)

下载注册服务工具:下载

重命名后,放到 nginx 根目录

在根目录新建 winswbin.xml (名称要与前面一致)

 

 winswbin.xml 内容:修改目录地址为 nginx 实际安装地址

<service>
 
 <id>nginx</id>
 
 <name>nginx</name>
 
 <description>nginx</description>
 
 <logpath>E:\nginx</logpath>
 
 <logmode>roll</logmode>
 
 <depend></depend>
 
  <executable>E:\nginx\nginx.exe</executable>
 
  <stopexecutable>E:\nginx\nginx.exe -s stop</stopexecutable>
 
</service>

 在 nginx 根目录 运行命令

winswbin.exe install

 

运行 winswbin.exe install 问题

问题1:若出现 WMI.WmiException: AccessDenied 错误,请使用管理员身份打开cmd

问题2:若切换不了盘符,试下以下方法(直接输入盘符加英文冒号)

 cmd 输入命令 services.msc 查看服务,然后右键启动即可

启动服务:net start nginx

停止服务:net stop nginx

参考

参考:nginx+域名配置_zhengqiqiqinqin的博客-CSDN博客

参考:nginx域名配置方法_51CTO博客_nginx配置域名访问

参考:nginx目录路径重定向的方法(nginx重定向的路径不对)-服务器教程-知优网

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值