程序员

简述Nginx在windows下的配置及部署

2018-08-07  本文已影响0人  金哲成长记

一、Nginx简介

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站点(俄文:Рамблер)开发的.

它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。它高性能和低消耗内存的结构受到很多大公司青睐,如淘宝网站架设。

先下载直接去官网nginx.org

目前网上liunx 下Nginx教程较多,这里我就不做一说明了。下面简单说下windows下Nginx的配置及部署静态网页。

二、windows下Nginx安装及部署

1.下载windows 版本的Nginx下载完成后,解压缩,运行cmd,使用命令进行操作,不要直接双击nginx.exe,不要直接双击nginx.exe,不要直接双击nginx.exe

2. 使用命令到达nginx的加压缩后的目录

如:  cd e:\nginx-1.15.2

3、启动nginx服务,启动时会一闪而过是正常的

       start nginx

4、查看任务进程是否存在,dos或打开任务管理器都行

      tasklist /fi "imagename eq nginx.exe"

会看到有nginx.exe的进程则为正常

如果都没有可能是启动报错了查看一下日志,在nginx目录中的logs文件夹下error.log是日志文件

常见错误有 :

路径配置问题 (建议使用"/" "\\" ,而不建议使用"",存在 "\t"等类似问题)

nginx文件夹路径含中文问题

5. 配置Nginx

server {

        listen      80;     //默认端口 可以修改

        server_name  localhost;          //域名或者IP,多个之间用空格隔开

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root  old-boy;         // 如果在Nginx目录下课直接写。否则可以写成 E:/old-boy

            index  index.html index.htm;

        }

      location ~ ^/favicon\.ico$ {         //如果有网页的主图片需要这样去引入

            root    E:/BD/Tool/nginx-1.15.2/imgres;

        }

}

当然更详细的还有其他日志的、负载均衡的配置。 此处只是简单说明。

修改完成后保存,使用以下命令检查一下配置文件是否正确,后面是nginx.conf文件的路径,successful就说明正确了

nginx -t -c /nginx-1.15.2/conf/nginx.conf

无错误的画面如下

如果程序没启动就直接start nginx启动,如果已经启动了就使用以下命令重新加载配置文件并重启

nginx -s reload

访问的话:之间访问的 localhost:80/old-boy/view/index.html

6. 优化配置的话可以参考如下(依旧是ngnix.conf):

#user nobody;

#==工作进程数,一般设置为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 {

    #==最大连接数,一般设置为cpu*2048

    worker_connections  1024;

}

http {

    include      mime.types;

    default_type  application/octet-stream;

    #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;

    #server表示虚拟主机可以理解为一个站点,可以配置多个server节点搭建多个站点

    #每一个请求进来确定使用哪个server由server_name确定

    server {

        #站点监听端口

        listen      80;

        #站点访问域名

        server_name  localhost;

        #编码格式,避免url参数乱码

        charset utf-8;

        #access_log  logs/host.access.log  main;

        #location用来匹配同一域名下多个URI的访问规则

        #比如动态资源如何跳转,静态资源如何跳转等

        #location后面跟着的/代表匹配规则

        location / {

            #站点根目录,可以是相对路径,也可以使绝对路径

            root  html;

            #默认主页

            index  index.html index.htm;

            #转发后端站点地址,一般用于做软负载,轮询后端服务器

            #proxy_pass http://10.11.12.237:8080;

            #拒绝请求,返回403,一般用于某些目录禁止访问

            #deny all;

            #允许请求

            #allow all;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page  500 502 503 504  /50x.html;

        location = /50x.html {

            root  html;

        }

    }

}

三. Nginx常用Dos命令

start nginx        启动nginx  

tasklist /fi "imagename eq nginx.exe"    查看nginx进程  

nginx -s quit      安全关闭  

nginx -s stop      强制关闭  

nginx -s reload    改变配置文件时,重启nginx工作进程,使配置生效  

nginx -s reopen    打开日志文件  

nginx -v           查看版本  

nginx -h           查看帮助信息  

具体的情况还得大家去实测。因为每个环境都不相同。用什么问题大家可以多多交流。

上一篇下一篇

猜你喜欢

热点阅读