在windows上安装nginx并注册

一、前言

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

二、在windows下面安装

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

  找到最新版本下载即可:

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

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

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

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

 // :: [emerg] #: CreateFile() "C:\Users\爱好妹子的朱\Desktop\nginx-1.13.7/conf/nginx.conf" failed (: 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的端口了(其他任意)。

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

   #user  nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} 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 ;
keepalive_timeout ; #gzip on; server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
} #error_page /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
} # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen ;
# listen somename:;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }

三、将nignx注册成服务

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

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

 <?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>zyrNginx Service</name>
<description>High Performance Nginx Service 朱彦荣 zyr</description>
<executable>D:\nginx-1.14.\nginx.exe</executable>
<logpath>D:\nginx-1.14.\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\nginx-1.14.</startargument>
<stopargument>-p D:\nginx-1.14. -s stop</stopargument>
</service>

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

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

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

在windows上安装nginx并注册的更多相关文章

  1. 在windows上安装nginx

    在windows上安装nginx   最近自己也尝试了一下在windows上安装nginx,其实非常的简单,这里算是备忘一下.   首先需要到nginx的官网上下载最新版的nginx:http://n ...

  2. 在Linux和Windows系统上安装Nginx服务器的教程

    在Linux和Windows系统上安装Nginx服务器的教程  1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RP ...

  3. WordPress安装篇(2):用宝塔面板在Windows上安装WordPress

    上一篇文章介绍了如何使用PHPStudy工具在Windows Server环境安装WordPress,接下来介绍一款更加强大的部署WordPress的集成工具--宝塔面板.宝塔面板不仅提供免费版本,还 ...

  4. windows下安装nginx

    说起开发,自己感到非常惭愧,由于公司让我给<绿电侠>项目写整体架构解决方案,才开始接触nginx这个东东,突然觉得它是一把非常好的利器. 本文主要记录在windows下安装nginx,另参 ...

  5. (转)如何在Windows上安装多个MySQL

    原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...

  6. 在Windows上安装MySQL(免安装ZIP版)

    在 Windows 上安装MySQL(免安装ZIP版) 因为一些原因,重新安装了MySQL数据库,重装时习惯性使用最新版下载 此过程中发现MySQL 5.7.12 和MySQL 5.6的安装有些区别: ...

  7. 如何在Windows上安装多个MySQL

    将MySQL注册为系统服务:%MySQL_HOME%\bin>mysqld --install mysql5.1,此时,在运行中输入"services.msc"或者打开&qu ...

  8. Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows

    知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html ------------------------ 安装方式有3种: (1)Windows ...

  9. 在 windows 上安装免安装版的mysql

    在 windows 上安装免安装版的 1. 下载路径 https://downloads.mysql.com/archives/community/ 2. 解压 假设解压后的路径为:E:\Enviro ...

随机推荐

  1. (转)CentOS7 搭建LVS+keepalived负载均衡(一)

    原文:http://blog.csdn.net/u012852986/article/details/52386306 CentOS7 搭建LVS+keepalived负载均衡(一) CentOS7 ...

  2. C#(Winform)禁用TextBox控件的鼠标事件

    1. 继承TextBox,然后重写父类的部分方法,核心代码如下 public class MyTextBox : TextBox { protected override void WndProc(r ...

  3. Bootstrap使用模态框modal实现表单提交弹出框

    Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等.如果 ...

  4. 公司管理系列--80% of Your Culture is Your Founder(FaceBook)

    80% of Your Culture is Your Founder     When Molly Graham joined Facebook in 2008, the company still ...

  5. [转]象棋AI算法(一)

    本文转自:http://blog.csdn.net/u012723995/article/details/47133693 参考文献:http://www.xqbase.com/computer/se ...

  6. 异步http请求的实现

    这是我自己在某论坛上发的一篇水贴:http://www.sufeinet.com/thread-9275-1-2.html,原理和解释,我就直接重发一遍在自己博客上了. 时隔一个月  回来把之前的坑填 ...

  7. golang的xml、json解析

    xml golang的xml处理主要应用Unmarshal.Marshal方法实现,解析一个xml到struct如下,首先是xml文件: <?xml version="1.0" ...

  8. 初学zookeeper--自定义事件监听

    zk有四种节点类型: 持久节点,持久顺序节点,临时节点,临时顺序节点. 自定义监听事件时,在节点的创建,修改,删除的方法第一行都需要加入是否监听的一个方法: //开启监听的方法.第二个参数表示是否开启 ...

  9. 基于Netty的NIO优化实践

    1. 浅谈React模型 2. Netty TCP 3. Netty UTP

  10. Hibernate 注解(Annotations 一)

    1. @Entity 将一个类声明为一个实体bean(即一个持久化POJO类). 2. @Table 声明了该实体bean映射指定的表(table),目录(catalog)和schema名字 3. @ ...