zoukankan      html  css  js  c++  java
  • 在windows上安装nginx并注册

    在windows上安装nginx并注册

    一、前言

      最近自己也尝试了一下在windows上安装nginx,其实非常的简单,这里算是备忘一下。

    二、在windows下面安装

      首先需要到nginx的官网上下载最新版的nginxhttp://nginx.org/en/download.html

      找到最新版本下载即可:

      至于后面的pgp,其实是一种密钥机制(pretty good privacy)。

      下载之后,我们发现这个文件是不用安装的,也就是不需要在windows的注册表中注册的,因此我们可以直接使用,如果大家有使用过masm之类的汇编软件,相信大家会理解的,之后,我们就可以直接在cmd中运行了,这个时候可能会出现问题,其中一个问题是闪退。

      闪退的原因有很多种,我们要注意查看日志文件:

      如果大家遇到下图中我画出的问题:

    1 2017/12/13 12:44:23 [emerg] 7260#2152: CreateFile() "C:Users爱好妹子的朱Desktop
    ginx-1.13.7/conf/nginx.conf" failed (1113: No mapping for the Unicode character exists in the target multi-byte code page)

        那么原因其实很简单,我们读了日志之后就能理解,不能映射编码,说明我们肯定是在路径中有中文字符,也就是我们的文件存放目录一定不能是中文的,要不然肯定会闪退的。

      解决办法就是把下载的文件放到全英文的目录之中。

      还有一个错误是:

      绑定端口异常,那肯定呀,80端口是默认让http协议使用的,我们这里肯定不能占用,同时我们也可以回忆一下常用的端口,比如HTTPS(443),ftp(20,21)等等。

      解决办法也很简单,只需要在NGINX中修改一下配置即可:

      我们在sublime中打开该文件:

      就可以看到相应的配置信息,比如IP地址和端口,这里笔者已经改成了一个大于1024的端口了(其他任意)。

      让我们仔细看一下配置文件,我们以后的很多操作都可以从中配置:

      1 #user  nobody;
      2 worker_processes  1;
      3 
      4 #error_log  logs/error.log;
      5 #error_log  logs/error.log  notice;
      6 #error_log  logs/error.log  info;
      7 
      8 #pid        logs/nginx.pid;
      9 
     10 
     11 events {
     12     worker_connections  1024;
     13 }
     14 
     15 
     16 http {
     17     include       mime.types;
     18     default_type  application/octet-stream;
     19 
     20     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
     21     #                  '$status $body_bytes_sent "$http_referer" '
     22     #                  '"$http_user_agent" "$http_x_forwarded_for"';
     23 
     24     #access_log  logs/access.log  main;
     25 
     26     sendfile        on;
     27     #tcp_nopush     on;
     28 
     29     #keepalive_timeout  0;
     30     keepalive_timeout  65;
     31 
     32     #gzip  on;
     33 
     34     server {
     35         listen       31000;
     36         server_name  localhost;
     37 
     38         #charset koi8-r;
     39 
     40         #access_log  logs/host.access.log  main;
     41 
     42         location / {
     43             root   html;
     44             index  index.html index.htm;
     45         }
     46 
     47         #error_page  404              /404.html;
     48 
     49         # redirect server error pages to the static page /50x.html
     50         #
     51         error_page   500 502 503 504  /50x.html;
     52         location = /50x.html {
     53             root   html;
     54         }
     55 
     56         # proxy the PHP scripts to Apache listening on 127.0.0.1:80
     57         #
     58         #location ~ .php$ {
     59         #    proxy_pass   http://127.0.0.1;
     60         #}
     61 
     62         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     63         #
     64         #location ~ .php$ {
     65         #    root           html;
     66         #    fastcgi_pass   127.0.0.1:9000;
     67         #    fastcgi_index  index.php;
     68         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
     69         #    include        fastcgi_params;
     70         #}
     71 
     72         # deny access to .htaccess files, if Apache's document root
     73         # concurs with nginx's one
     74         #
     75         #location ~ /.ht {
     76         #    deny  all;
     77         #}
     78     }
     79 
     80 
     81     # another virtual host using mix of IP-, name-, and port-based configuration
     82     #
     83     #server {
     84     #    listen       8000;
     85     #    listen       somename:8080;
     86     #    server_name  somename  alias  another.alias;
     87 
     88     #    location / {
     89     #        root   html;
     90     #        index  index.html index.htm;
     91     #    }
     92     #}
     93 
     94 
     95     # HTTPS server
     96     #
     97     #server {
     98     #    listen       443 ssl;
     99     #    server_name  localhost;
    100 
    101     #    ssl_certificate      cert.pem;
    102     #    ssl_certificate_key  cert.key;
    103 
    104     #    ssl_session_cache    shared:SSL:1m;
    105     #    ssl_session_timeout  5m;
    106 
    107     #    ssl_ciphers  HIGH:!aNULL:!MD5;
    108     #    ssl_prefer_server_ciphers  on;
    109 
    110     #    location / {
    111     #        root   html;
    112     #        index  index.html index.htm;
    113     #    }
    114     #}
    115 
    116 }

    三、将nignx注册成服务

        如果我们经常使用,那么在cmd之中启动是非常不方便的,因此,我们可以将其注册成服务

        首先我们下载Windows Service Wrapper(比如winsw-1.8-bin.exe服务注册工具,然后将这个工具放到ngnix安装目录之下,然后新建一个文件,这个文件的文件名需要和我们的服务注册工具一致,也就是说如果把服务注册工具重命名,那么这个文件也需要重命名(winsw-1.8-bin.xml):

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <service>
     3 <id>nginx</id>
     4 <name>zyrNginx Service</name>
     5 <description>High Performance Nginx Service  朱彦荣 zyr</description>
     6 <executable>D:
    ginx-1.14.0
    ginx.exe</executable>
     7 <logpath>D:
    ginx-1.14.0</logpath>
     8 <logmode>roll</logmode>
     9 <depend></depend>
    10 <startargument>-p D:
    ginx-1.14.0</startargument>
    11 <stopargument>-p D:
    ginx-1.14.0 -s stop</stopargument>
    12 </service>

        注意上面的文件我们要修改nginx存放的目录,以及相关的配置。

        然后我们在命令行(管理员模式,不然权限不够)中,将该服务注册到windows系统之中:

        最后我们打开任务管理器中的服务,可以发现我们自己命名的服务已经出现了:

  • 相关阅读:
    Hadoop 文件系统命令行基础
    Mac bash 远程连接阿里云服务器
    Master in Vocab -- Day Six
    Master in Vocab -- Day Five
    Master in Vocab -- Day Four
    Master in Vocab -- Day Three
    mybatis学习一
    mysql事务,视图,权限管理,索引,存储引擎(胖胖老师)
    SpringAOP
    Spring事务
  • 原文地址:https://www.cnblogs.com/zyrblog/p/8032325.html
Copyright © 2011-2022 走看看