windows10使用bat脚本安装前后端环境之nginx注册服务

news/2024/9/29 2:46:48 标签: nginx, 运维, windows, bat

首先需要搞清楚nginx本地是怎么安装配置的、然后在根据如下步骤编写bat脚本:

思路

1.下载nginx-1.26 zip压缩包安装包
2.调整conf配置
3.借助winsw将nginx应用注册为服务,winsw下载地址 然后重命名nginx_service.exe
4.配置nginx-service.xml
5.注册windows server服务
6.启动nginx

在这里插入图片描述
nginx.conf (最简化配置、可自定义调整)

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
	   
	server {
        listen 9000;
        server_name localhost; 
		
		# 前端域名映射
        location / {
            root   html;
            index  index.html index.htm;
			try_files $uri $uri/ /index.html;
        }
		
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

nginx-service.xml

<service> 
  <id>NGINX_LINSN</id> 
  <name>NGINX_LINSN</name> 
  <description>NGINX_LINSN service</description> 
  <executable>C:\nginx-1.26.0\nginx.exe</executable> 
  <logpath>C:\nginx-1.26.0\logs</logpath> 
</service> 

bat_61">bat脚本

@echo off
echo windows10 x64 server Nginx init
REM 请求管理员权限并隐藏窗口
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 :: & echo 执行中,请稍候... & timeout 2 > nul","","runas",0)(window.close)&&exit
setlocal enabledelayedexpansion


rem 设置 Nginx 目录变量,方便后续引用和修改
set ServiceName=NGINX_LINSN

%~d0
cd %~dp0
set CURRENT_DIR=%~dp0
set CURRENT_DIR=%CURRENT_DIR:~0,-1%
set NGINX_DIR=%CURRENT_DIR%\nginx-1.26.0
set NGINX_SERVER_DIR=%CURRENT_DIR%\nginx-1.26.0\nginx-service.exe
set NGINX_LOGS=%CURRENT_DIR%\nginx-1.26.0\logs

echo query %ServiceName% state info ...
sc query "%ServiceName%" >nul 2>&1
if %errorLevel% equ 0 (
    rem 服务存在,检查服务状态
    for /f "tokens=2 delims=: " %%a in ('sc query "%ServiceName%" ^| find "STATE"') do (
        if /i "%%a" equ "RUNNING" (
            echo Nginx server state is RUNNING...
        ) else if /i "%%a" equ "STOPPED" (
            echo Nginx server state is STOPPED...
            net start %ServiceName% 
        ) else (
			echo Nginx server state is %%a...
        )
    )
) else (
	rem 服务不存在,初始化服务
	echo Nginx-server is not exist, init server %ServiceName%
	cd %NGINX_DIR%
	
	rem 创建 XML 配置文件内容
	echo ^<service^> > nginx-service.xml
	echo   ^<id^>%serviceName%^</id^> >> nginx-service.xml
	echo   ^<name^>%serviceName%^</name^> >> nginx-service.xml
	echo   ^<description^>%serviceName% service^</description^> >> nginx-service.xml
	echo   ^<executable^>%NGINX_DIR%\nginx.exe^</executable^> >> nginx-service.xml
	echo   ^<logpath^>%NGINX_LOGS%^</logpath^> >> nginx-service.xml
	echo ^</service^> >> nginx-service.xml

	rem 安装服务
	echo Nginx-server start server %ServiceName%
	%NGINX_SERVER_DIR% install

	rem 启动服务
	net start %ServiceName%	
	
)

echo windows-server-nginx success
endlocal

REM 执行完成后自动关闭
timeout /t 2 >nul
exit

亲测有效。


http://www.niftyadmin.cn/n/5682282.html

相关文章

2022浙江省赛G I M

G - Easy Glide 题意 思路 由于数据范围比较小&#xff08;1e3&#xff09;,把所有的移动的时间转化为图论上的边权就可以了,再用dijkstra解决,注意如果用的是邻接表存的话要建双向边 代码 #include <map> #include <set> #include <queue> #include <…

linux网络编程实战

前言 之前找工作的之后写了一些网络编程的笔记和代码&#xff0c;然后现在放到csdn上保存一下。有几个版本的&#xff0c;看看就好。就是简单的实现一下服务端和客户端之间的交互的&#xff0c;还没有我之前上linux编程课写的代码复杂。 哦对了&#xff0c;这个网络编程的代码对…

linux从入门到精通--从基础学起,逐步提升,探索linux奥秘(六)

linux从入门到精通–从基础学起&#xff0c;逐步提升&#xff0c;探索linux奥秘&#xff08;六&#xff09; 一、linux高级指令&#xff08;1&#xff09; 1、hostname指令 1&#xff09;作用&#xff1a;操作服务器的主机名&#xff08;读取、设置&#xff09; 2&#xff0…

使用C#,MSSQL开发的钢结构加工系统

很久以前的项目&#xff0c;上位机使用C#开发。数据库使用mssql。控制系统选用了三菱PLC&#xff0c;上位机和PLC之间走ModbusTCP通讯协议。 主要功能&#xff1a;读取加工文件&#xff08;csv格式&#xff09;&#xff0c;导入到数据库&#xff0c;并根据机床刀具规则&#x…

青动CRM V3.2.1

全面解决企业销售团队的全流程客户服务难题旨在助力企业销售全流程精细化、数字化管理&#xff0c;全面解决企业销售团队的全流程客户服务难题&#xff0c;帮助企业有效盘活客户资源、量化销售行为&#xff0c;合理配置资源、建立科学销售体系&#xff0c;提升销售业绩。标准授…

2024.9.26 Spark学习

资料&#xff1a; Spark基础入门-第一章-1.1-Spark简单介绍_哔哩哔哩_bilibili &#xff08;1&#xff09;基础知识 Apache Spark 是用于大规模数据&#xff08;large-scale data&#xff09;处理的统一分析引擎。 分布式处理数据 PySpark模块 Spark 和 Hadoop 有区别&…

长列表加载性能优化

一、长列表优化概述 列表是应用开发中最常见的一类开发场景&#xff0c;它可以将杂乱的信息整理成有规律、易于理解和操作的形式&#xff0c;便于用户查找和获取所需要的信息。应用程序中常见的列表场景有新闻列表、购物车列表、各类排行榜等。随着信息数据的累积&#xff0c;特…

JavaScript 操作 DOM元素CSS 样式的几种方法

JavaScript 操作 DOM元素CSS 样式的几种方法 直接通过元素的 style 属性来设置内联样式。 // 获取元素 const element document.getElementById(myElement);// 设置单个样式属性 element.style.color red; element.style.fontSize 20px;// 设置多个样式属性 element.style…