发布:2022/9/22 14:43:18作者:管理员 来源:本站 浏览次数:1168
一、安装nginx(windows版)
1、进入nginx 官网下载安装包:http://nginx.org/en/download.html
2、有很多版本,下载稳定的版本nginx 1.6.1 ,弹出下载页面,
3、选择下载目录,点击下载。
4、解压完后解压,双击nginx.exe:
5、打开控制台(cmd),进入Nginx安装包根路径;
6、输入命令nginx -t检查nginx是否配置成功;
7、输入命令start nginx启动nginx服务;
8、在浏览器中访问localhost,便可看到nginx成功安装并运行的页面。(默认监听端口80)
二、Nginx常用命令
1、检查配置文件是否配置成功,在启动服务之前执行;
nginx -t
2、启动运行nginx服务;
start nginx
3、等任务完成之后,关闭Nginx服务;
nginx -s quit
4、强制关闭Nginx服务;
nginx -s stop
5、重启Nginx服务,一般是修改了配置文件之后,使修改生效;
nginx -s reload
三、配置文件讲解
Nginx所有的设置都在根目录conf文件夹下的nginx.conf文件中。
在网上看到,不要以记事本来打开conf配置文件,会发生转码问题,破坏配置文件的内容,从而导致Nginx启动不起来。我用Notepad++打开修改的,没有问题。
1、worker_processes:设定Nginx工作时的进程数,设置值小于cpu的内核数;
worker_processes 1;
2、events:
events {
# 设置nginx的最大连接数
worker_connections 1024;
}
3、keepalive_timeout:http连接超时时间,默认是65s。当需要上传大文件时,需要适当设置大一点,避免文件上传过程中断开连接,导致文件上传失败;
keepalive_timeout 5000;
4、gzip:对网络传输的数据内容进行压缩;
gzip on;
5、upstream:服务器的集群。可以设定多个不同名字的集群,以用于不同的server。这里可以设定nginx的工作策略,这里是使用默认的轮询;
# 服务器的集群
upstream localhost { #服务器集群名字
server 192.168.0.61:8801;
server 192.168.0.62:8802;
server 192.168.0.63:8803 down;
server 192.168.0.64:8804 backup;
}
注:upstream中的每个server都可以设定以下状态:
weight-设定该服务的访问权重,权重越大被访问的几率越大,相应的压力就越大;
down- 表示此server不参与负载;
max_fails -允许请求失败的最大次数;当超过后返回proxy_next_upstream中定义的的错误;
fail_timeout:请求失败后暂停访问的时限;
backup:备用server;当其他机器全忙或宕机时,才会使用。
6、server:代理服务器,可以设定多个代理服务器(每一个server就是一个虚拟服务器);请求进来之后由server的server_name决定该请求访问哪一个服务;
server {
# 设置监听端口
listen 9876;
server_name localhost;
# 设置url编码格式,解决参数中文乱码问题
charset utf-8;
location / {
proxy_pass http://localhost;
proxy_redirect default;
}
7、location: 配置该服务的访问规则,同一个server下可以配置多个location;
# 对静态资源进行映射
location ^~ /public/images/ {
alias D:/nginx-1.10.1/html/public/images/;
}
# 对"/"启用负载均衡
location / {
proxy_pass http://localhost/;
proxy_redirect default;
}
完整的配置信息
#user nobody;
#设定Nginx工作时的进程数,设置值小于cpu的内核数
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
#设置nginx的最大连接数
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
#upstream 每个子域名都需要配置一个 注意端口和权重
upstream 192.168.0.66 {
server 192.168.0.66:8002 weight=1;
server 192.168.0.66:8003 weight=2;
}
#server 的建立,每个子域名 都需要一个 server servername,proxy_pass 需要配置
server {
#监听端口号
listen 80;
#主机名
server_name 192.168.0.66;
#强制跳转到 Https
#rewrite ^(.*)$ https://$host$1 permanent;
#字符集
charset utf-8;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
#输入需要负载的子域名地址,然后配置 upstream 对应的服务器
proxy_pass http://192.168.0.66;
#设置主机头和客户端真是地址,以便服务器获取客户真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
四、将Nginx注册为windows系统服务可随机启动
1. 在项目主页内找到winsw的下载页面(我用的是最新2.0.2版本,你可以下载最新的)
http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe
http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.19/winsw-1.19-bin.exe
下载的文件:winsw-1.19-bin.exe
2. 在nginx项目页面下载nginx windows版本
http://nginx.org
把nginx压缩包解压放到指定目录,例如我放的是c盘根目录。特别强调路径不要带空格的,否则会启动失败。
nginx安装目录是:C:\nginx-1.6.1\
3. 将winsw-1.9-bin.exe复制到nginx目录:C:\nginx-1.6.1\
,并将其改成nginx-service.exe
4. 新建一个xml文件nginx-service.xml,名称一定要与上面的.exe上的文件名一致的哦。
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>nginx</name>
<description>High Performance Nginx Service</description>
<logpath>C:\nginx-1.16.1\logs</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<executable>C:\nginx-1.16.1\nginx.exe</executable>
<startarguments>-p C:\nginx-1.16.1</startarguments>
<stopexecutable>C:\nginx-1.16.1\nginx.exe</stopexecutable>
<stoparguments>-p C:\nginx-1.16.1 -s stop</stoparguments>
</service>
5、在nginx目录下新增文件nginx-service.exe.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<generatePublisherEvidence enabled="false" />
</runtime>
</configuration>
文件内容如下:
6、启用windows自带的.Net Framework服务。
7. 运行Windows cmd命令,进入nginx目录:运行nginx-service.exe install将其注册为windws系统服务。当配置错误(就是系统服务中有了但是启动不了)或者是要卸载它的时候运行:nginx-service.exe uninstall
在运行Windows cmd命令,输入services.msc,就可以在系统服务中看到nginx服务,右击启动就可以了,访问http://localhost:8001出现nginx页面,安装成功。 因为我这台电脑80端口被占用了,然后就使用了8001端口
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4