网站建设于朦胧,网站设计服务有哪些,软文推广多少钱一篇,公司查名安装 nginx
下载
nginx 官网下载页面#xff1a;https://nginx.org/en/download.html直接选择当前最新 window 版本的或找到自己需要的版本下载即可
安装使用
下载完成后是有一个压缩包文件#xff0c;直接解压到自己需要的目录下即可。是免安装的#xff0c;解压即用简…安装 nginx
下载
nginx 官网下载页面https://nginx.org/en/download.html直接选择当前最新 window 版本的或找到自己需要的版本下载即可
安装使用
下载完成后是有一个压缩包文件直接解压到自己需要的目录下即可。是免安装的解压即用简单测试可以直接双击 nginx.exe 文件以前台方式运行。或者 cmd 控制台用 start nginx 以后台方式运行 这两种运行方式都是基于当前账号的若账号退出 进程也将关闭 所以若在服务器使用还需要注册到服务中使其可以一直存活并能在服务器异常重启后也启动。 下面介绍几种常用注册服务的方法
配置 nginx 开机自启
nginx 注册到服务
WinSW-x64
下载
下载地址https://github.com/winsw/winsw/releases建议前往 github 仓库下载避免在其他地方下载到含有恶意脚本的版本找到最新稳定版本然后选择自己对应的操作系统的文件下载即可
配置 它的使用原理就是winsw.exe本身注册为windows服务可以设置为自启动 当它启动时配合exe同名的xml文件中的配置执行设置的命令达到自启动的效果 1、 我们将下载的 WinSW-x64 复制到 nginx.exe 同级目录下并改名为nginx-service改名不是必须的名称也可以随意改名的目的是为了方便后期维护与在服务中查找使用2、 然后在 nginx.exe 同级目录下创建文件nginx-service.xml 注意该文件名需要与第一步设置的名称一致不然注册服务的指令还需要指定 xml 文件的路径xml 文件的内容如下
serviceidapm-nginx/idnameapm-nginx/namedescriptionapm-nginx-自启动服务/descriptionlogpathD:\Program Files\nginx-1.25.2\server-logs\/logpathlogmoderoll/logmodedepend/dependexecutableD:\Program Files\nginx-1.25.2\nginx.exe/executablestopexecutableD:\Program Files\nginx-1.25.2\nginx.exe -s stop/stopexecutable
/service文件节点的详细介绍https://github.com/winsw/winsw/blob/v3/docs/xml-config-file.md常用节点介绍
id:指定 Windows 在内部用于标识服务的 ID。这在系统中安装的所有服务中必须是唯一的name:服务的短显示名称也需要是唯一的。不能太长description描述信息logpathWinSW 驱动 nginx 时产生的错误日志logmode日志模式executable可执行文件路径需要驱动的 nginx 的路径stopexecutable停止 nginx 的指令
使用
使用管理员权限运行 cmd 窗口然后进入到 nginx-service 所在目录或直接在路径上输入 cmd然后运行下面的指令之后按照提示授权执行即可运行指令
nginx-service.exe install然后我们可以来到任务管理器中查看服务启动情况与设置服务的启动配置服务的配置 这里不做赘述然后我们来到详细信息中可以发现 nginx 是与我们刚刚配置的nginx-service 一起启动的停止 apm-nginx 服务后下面三个进程是一起停止的
WinSw 常用指令
nginx-service.exe 为重命名后的 WinSW 名称
nginx-service.exe installl 安装服务
nginx-service.exe start 启动服务
nginx-service.exe stop 停止服务
nginx-service.exe restart 重启服务
nginx-service.exe uninstall 删除服务
nginx-service.exe status 查看状态NSSM
下载
官网下载链接https://nssm.cc/download直接下载稳定版下载后解压的目录结构
安装
进入到对应系统的目录下输入指令 如下指令唤起 nssm 面板
nssm install选择 exe 文件路径和设置服务名称后点击 install 即可
使用
使用和 WinSW 一样普通管理服务一样
nssm 常用指令
nssm install servername //创建servername服务
nssm start servername //启动服务
nssm stop servername //暂停服务
nssm restart servername //重新启动服务
nssm remove servername //删除创建的servername服务添加到系统开机计划中
在搜索栏中查找到 任务计划程序 展开 Microsoft》Windows添加基本任务设置启动时运行操作为 启动程序 选择到 nginx.exe 执行文件需要注意的是 起始于是必须要填的填写的值是 nginx 所在的文件路径如D:\Program Files\nginx-1.25.2可以在前面 nssm 配置中看到这种的设置创建完成后可以直接点击 运行 启动或者重启计算机启动为了能使 nginx 可以在无用户时也能运行还需要做一下设置如果是通过 创建任务 的方式创建的任务是可以在创建时就设置的
一些问题
配置文件无法重载Access is denied nginx: [error] OpenEvent(“Global\ngx_reload_24248”) failed (5: Access is denied) 问题分析
因为 Windows 账号运行隔离机制我们没法直接关闭其他用户启动的程序但是可以通过 pid 杀死进程。因为 nginx 重新加载配置服务不停止的实现是通过一个住进程控制的当 reload 时 nginx 会创建一个新的进程然后将后续的流量都转向到新的进程当就进程中的流量都处理完成后会关闭旧的进程。使得 nginx 可以完成重新加载配置而不需要重启服务。该问题就是因为以上关闭 nginx 旧进程时产生的错误。
解决方案
对于 nssm、windsw 托管 windows 服务的方式
该方式可以使用系统的 administrator 账号做服务的启动账号administrator 账号默认是不启用的且密码不知可以通过其他教程去启用 administrator 并修改默认账号。这里不赘述
一些还可以用 PSEXEC 程序做控制重启一般不推荐在服务器上使用该工具
C:\Soft\PSTools\PSEXEC -s D:\Program Files\nginx-1.25.2\nginx.exe -p c:\nginx -s reload对于使用任务计划程序的方式
使用该方式启动的也会有相同的问题但是我们可以利用任务执行账号去规避该种错误我们在 nginx.exe 同级下创建一个指令文件用于reload.bat:
nginx -s reload然后创建两个任务创建任务基本不变apm-nginx然后创建一个 apm-nginx-reload 用于重新加载配置文件的触发器设置为启动一次就好我们不需要它开机启动 只需要手动执行。或者设置一些事件变化去启动 但是这样就复杂了操作 我们就用它去执行刚刚创建的 bat 文件即可然后就 OK 了在需要重载配置文件时 我们手动运行 apm-nginx-reload 这个计划任务即可主要就是两个任务的执行账号需要一样一般采用 system 或 network 账号即可