百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Nginx安装与调优部署文档(WinServer)

off999 2025-01-01 22:16 37 浏览 0 评论

1. 安装环境准备

1.1 部署规划

软件安装路径 E:\nginx
软件日志路径 E:\nginx\logs
软件主配置文件路径 E:\nginx\conf
软件
配置文件路径 E:\nginx\conf\conf.d
软件站点配置路径 E:\nginx\html
端口规划 80

2. Nginx安装部署

2.1 Nginx安装包下载与依赖安装

? WinServer下安装部署Nginx注意事项:
1、Nginx安装路径不能出现中文,如E:\软件\app
2、Nginx安装路径不能包含空格与括号,如C:\Program Files (x86)
3、nginx.conf包含子配置文件夹时,include也是不能包含上述两个注意事项中提到的,同时include参数后面的路径符号也要注意,正确的写法如下

include conf.d/*.conf

? .NET Framework 3.5安装描述
1、点击左下角【开始】按键,找到【服务器管理器】;
2、点击界面的【添加角色和功能】;



3、在【添加角色和功能向导】界面点击“下一步“;
4、在“安装类型”界面继续点击“下一步”;
5、在“服务器选择”界面继续点击“下一步”;
6、在“服务器角色”界面继续点击“下一步”;
7、在“功能”界面在“.NET Framework 3.5功能”前面方框中打勾选中,点击“下一步”;
8、在“确认”界面点击“安装”,开始.NET Framework 3.5的安装
9、在“结果”界面耐心等待.NET Framework 3.5的安装,界面提示“已在WIN-XXX上安装成功”点击“关闭”完成.NET Framework 3.5的安装工作。
? 下载nginx-1.19.1.zip安装包,并解压
nginx-1.19.1.zip下载地址:
http://nginx.org/download/nginx-1.19.1.zip

? 下载Windows Service Wrapper
官方地址:
https://github.com/winsw/winsw

Windows Service Wrappe下载地址:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.9.0/winsw-2.9.0-bin.exe

2.2 Nginx安装描述

1、上传nginx-1.19.1.zip安装包到服务器;
2、解压nginx-1.19.1.zip到E盘,并重命名为nginx(名称可根据实际场景使用来区分)
3、将winsw-2.9.0-bin.exe重命名为nginx-service.exe并且复制到E:\nginx目录下
4、在E:\nginx目录下新建nginx-service.xml文件,内容如下(路径根据实际部署路径填写)

<?xml version="1.0" encoding="UTF-8" ?>

<service>

 <id>Nginx</id>

 <name>Nginx</name>

 <description>本服务用于加载Nginx服务,请确保开机启动。</description>

 <logpath>E:\nginx\logs</logpath>

 <executable>nginx.exe</executable>

 <stopexecutable>nginx.exe</stopexecutable>

 <stopargument>-s</stopargument>

 <stopargument>stop</stopargument>

 <logmode>rotate</logmode>

5、安装Nginx系统服务或者卸载Nginx系统服务

5.1 安装Nginx系统服务

在E:\nginx目录下,使用组合键Shift+Ctrl+鼠标右键,选择“在此处打开命令行容器”,在弹出的cmd窗口运行如下命令:

nginx-service.exe install
界面提示如下内容表示安装完成:
2020-07-23 14:18:35,374 INFO  - Installing the service with id 'Nginx'

5.2 卸载Nginx系统服务

在E:\nginx目录下,使用组合键Shift+Ctrl+鼠标右键,选择“在此处打开命令行容器”,在弹出的cmd窗口运行如下命令:

nginx-service.exe uninstall
界面提示如下内容表示安装完成:
2020-07-23 14:19:38,261 INFO  - Uninstalling the service with id 'Nginx'

6、查看系统服务

在“控制面板\系统和安全\管理工具”双击“服务”或是右键电脑左下角的“开始”–>“运行“中输入如下指令:

services.msc



7、配置系统环境变量

通过【这台电脑】—>右键【属性】—>【高级系统设置】—>【环境变量】—>【系统变量】—>【Path】—>【编辑】
在末尾添加nginx安装路径

;E:\nginx\

8、服务停止与启动

8.1 方法1可以通过步骤6的系统服务中操作nginx的启动与停止
8.2 方法2可以通过在dos命令行中通过输入如下指令来启动或停止nginx服务

net stop nginx
Nginx 服务正在停止.
Nginx 服务已成功停止。
net start nginx
Nginx 服务正在启动.
Nginx 服务已成功启动。

8.3 存在僵死的进程无法stop时可输入如下指令可查看nginx运行进程

tasklist | findstr nginx
nginx-service.exe             2248 Services                   0     19,720 K
nginx.exe                     1660 Services                   0      5,568 K
nginx.exe                      104 Services                   0      5,884 K
tskill 2248
tskill 1660
tskill 104

如下命令,则是仅查看nginx服务进程

tasklist /fi "imagename eq nginx.exe"

9、 检查配置文件是否正确的方法:在E:\nginx目录下,使用组合键Shift+Ctrl+鼠标右键,选择“在此处打开命令行容器”,在弹出的cmd窗口运行如下命令:

nginx -t

10、修改配置文件后加载配置文件的方法:在E:\nginx目录下,使用组合键Shift+Ctrl+鼠标右键,选择“在此处打开命令行容器”,在弹出的cmd窗口运行如下命令:

nginx -s reloa

2.3 配置防火墙入站端口

? 服务器管理器–>配置–>高级安全windows防火墙–>入站规则,进行新建规则。
? 规则类型界面选择端口
? 选择TCP,然后指定端口;
? 操作设置为 允许连接;
? 设置 域、专用、公用 均应用该规则;
? 为该端口起个备注名,便为识别

3. Nginx加固

3.1 安全审计

? 启用错误日志

#错误日志
error_log  logs/error.log;
?	启用访问日志
#访问日志
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer"'
                      '"$http_user_agent" "$http_x_forwarded_for"'
                      '"$request_time" "$upstream_response_time"';
#日志缓存
 access_log  logs/access.log  main buffer=64k flush=60s;
 open_log_file_cache max=300 inactive=20s valid=1m min_uses=2;

3.2 隐藏nginx版本

? 在nginx.conf配置文件中添加隐藏nginx版本的参数

# hide nginx version
server_tokens off;

? 在fastcgi.conf配置文件中添加#注释如下配置隐藏php中nginx的版本信息

fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

3.3 数据保密性

? 配置防盗链,在nginx.conf对应的server中配置以下参数(根据实际环境需要配置)

location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip)$ {
valid_referers none blocked 域名;
if ($invalid_referer) {
return 403;
break;
}
access_log off;
}

3.4 配置错误界面

? 把error.html放在nginx/html下。在nginx.conf的http中配置以下参数

error_page  404 500 502 503 504 505 /error.html;

3.5 Web前端安全

? 防止点击劫持,防止ie内容嗅探,防止xss,只能从本域名加载资源(外部脚本无法执行),在nginx.conf的server中配置以下参数(根据实际环境需要配置)

add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection 1;
add_header Content-Security-Policy "default-src 'self'";

3.6 https安全

? 不使用SSL和TLS1.1以下,使用TLS1.2以上版本,在nginx.conf的server中配置以下参数(在启用https的场景中配置)

SSL_Protocols TLSv1.2;

3.7 访问控制

? 限制ip访问(因公网访问nginx,建议不设置。除非有恶意ip尝试cc攻击或暴力破解等非法操作)(根据实际环境需要配置)

location / {
deny 192.168.1.1; #拒绝IP
allow 192.168.1.0/24; #允许IP
allow 10.1.1.0/16; #允许IP
deny all; #拒绝其他所有IP
}

3.8 限制http请求方法

? 在nginx.conf的server中配置以下参数,只允许GET、POST两个

http请求方式
    location / {
        if ($request_method !~* GET|POST) {
        return 403;
        }
    }

4. Nginx优化

4.1 Nginx工作进程数量

? 一般设置CPU的核心或者核心数x2(worker_processes最多开启8个)

worker_processes  4;

4.2 Nginx运行CPU亲和力

?	比如2核配置
worker_processes 2;
worker_cpu_affinity 01 10;
?	比如4核配置
worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;
?	比如8核配置
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 0000100000010000 00100000 01000000 10000000;

4.3 Nginx事件处理

? 配置nginx事件处理提高处理效率

events {
worker_connections 65535;
multi_accept on;
}

4.4 开启高效传输模式

sendfile  on;
tcp_nopush  on;

4.5 连接超时时间

? 保护服务器资源,CPU,内存与控制连接数

keepalive_timeout 60;
tcp_nodelay on;
client_header_buffer_size 4k;
open_file_cache max=102400 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 1;
client_header_timeout 60;
client_body_timeout 60;
reset_timedout_connection on;
send_timeout 20;
client_max_body_size 10m;

4.6 配置文件专属路径便携配置

不同的服务配置单独的conf文件,在nginx的conf目录下创建conf.d文件夹,在nginx.conf配置文件添加include参数

include conf.d/*.conf; 

4.7 Gzip调优

使用gzip压缩功能,可能为我们节约带宽,加快传输速度

gzip on;
gzip_min_length 2k;
gzip_buffers   4 32k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_typestext/plain text/css text/javascriptapplication/json application/javascript application/x-javascriptapplication/xml;
gzip_vary on;
gzip_proxied any;

4.8 Expires缓存调优

缓存,主要针对于图片,css,js等元素更改机会比较少的情况下使用,特别是图片,占用带宽大,可以设置图片在浏览器本地缓存365d,css,js,html可以缓存个10来天。

location ~* \.(ico|jpe?g|gif|png|bmp|swf|flv)$ {
    expires 30d;
    #log_not_found off;
    access_log off;
}

location ~* \.(js|css)$ {
    expires 7d;
    log_not_found off;
    access_log off;
}

5、error.html界面内容

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>网页访问不了</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="404/error_all.css?t=201303212934">
</head>
<body class="error-404">
<div id="doc_main">
 
    <section class="bd clearfix">
        <div class="module-error">
            <div class="error-main clearfix">
                <div class="label"></div>
                <div class="info">
                    <h3 class="title">抱歉!该网站可能因为以下原因无法访问!</h3>
                    <div class="reason">
                        <p>1.您访问的域名未绑定主机;</p>
                        <p>2.您正在使用IP访问,请尝试使用域名访问;</p>
                        <p>3.该网站已被网站管理员停止。</p>
                    </div>
                </div>
            </div>
        </div>
    </section>
</div>
 
</body></html>

6. 结束

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: