小编Joh*_*ith的帖子

运行nginx作为Windows服务

我试图将nginx(反向代理)作为Windows服务运行,这样即使用户没有连接也可以代理请求.

我搜索了很多,发现winsw可以从.exe文件(如nginx)创建服务.

我发现许多在线教程说如下创建一个xml文件

<service>
   <id>nginx</id>
   <name>nginx</name>
   <description>nginx</description>
   <executable>c:\nginx\nginx.exe</executable>
   <logpath>c:\nginx\</logpath>
   <logmode>roll</logmode>
   <depend></depend>
   <startargument>-p c:\nginx</startargument>
   <stopargument>-p c:\nginx -s stop</stopargument>
</service>
Run Code Online (Sandbox Code Playgroud)

(我在一个名为nginx的文件夹中将nginx.exe放在c:o路径正确的位置).

现在问题是服务已经创建,但我似乎无法启动它,每次我尝试启动它时,一个窗口弹出说

Error 1053: The service didn't respond to the start or control request in a timely fashion
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个或不同的方式运行nginx作为窗口服务?

windows service nginx

10
推荐指数
5
解决办法
3万
查看次数

如果malloc失败,C释放2D数组

如果我有一个如下分配的2D数组:

int** map;
map = malloc(number * sizeof(int*));
if(!(map)){
    printf("out of memory!\n");
    return 1;
}
for (int i = 0; i < number; i++){
    map[i] = malloc(number * sizeof(int));
    if (!(map[i])){
        printf("Not enough memory!\n");
        return 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果分配失败并且我们输入if语句我应该释放map和直到现在分配的"列"吗?如果是这样,我该怎么办?

现在我只打印消息并返回1,但我不确定这是否是正确的方法.

c arrays malloc free

3
推荐指数
1
解决办法
316
查看次数

标签 统计

arrays ×1

c ×1

free ×1

malloc ×1

nginx ×1

service ×1

windows ×1