在 Windows 上从源代码构建 nginx

Posted

技术标签:

【中文标题】在 Windows 上从源代码构建 nginx【英文标题】:Building nginx From Source on Windows 【发布时间】:2015-12-27 06:01:10 【问题描述】:

我正在尝试。我完成了以下工作:

1) 安装了mingw、gcc和msys

2) 下载了nginx源码

3) 在 nginx 源文件夹中的 msys 控制台中运行以下命令:

$ auto/configure --with-cc=gcc --without-http_rewrite_module --without-http_gzip_module
(output omitted)

$ make -f objs/Makefile
(output omitted)

$ make install -f objs/Makefile
(output omitted)

这在 objs 文件夹中生成了 nginx.exe 文件,但是当我尝试运行它时出现以下错误:

$ nginx.exe
nginx: [alert] could not open error log file: CreateFile() "/usr/local/nginx/logs/error.log" failed 
(3: The system cannot find the path specified)
2015/12/26 21:49:25 [emerg] 10200#9700: CreateFile() "/usr/local/nginx/conf/nginx.conf" failed 
(3: The system cannot find the path specified)

但是当我运行ls /usr/local/nginx 时,我看到conflogs 目录在那里,并且conf 目录中有一些文件:

$ ls -l conf
total 34
-rw-r--r-- 1 Admin Administrators 1077 Dec 26 21:30 fastcgi.conf
-rw-r--r-- 1 Admin Administrators 1077 Dec 26 21:30 fastcgi.conf.default
-rw-r--r-- 1 Admin Administrators 1007 Dec 26 21:30 fastcgi_params
-rw-r--r-- 1 Admin Administrators 1007 Dec 26 21:30 fastcgi_params.default
-rw-r--r-- 1 Admin Administrators 2837 Dec 26 21:30 koi-utf
-rw-r--r-- 1 Admin Administrators 2223 Dec 26 21:30 koi-win
-rw-r--r-- 1 Admin Administrators 3957 Dec 26 21:30 mime.types
-rw-r--r-- 1 Admin Administrators 3957 Dec 26 21:30 mime.types.default
-rw-r--r-- 1 Admin Administrators 2656 Dec 26 21:30 nginx.conf
-rw-r--r-- 1 Admin Administrators 2656 Dec 26 21:30 nginx.conf.default
-rw-r--r-- 1 Admin Administrators  636 Dec 26 21:30 scgi_params
-rw-r--r-- 1 Admin Administrators  636 Dec 26 21:30 scgi_params.default
-rw-r--r-- 1 Admin Administrators  664 Dec 26 21:30 uwsgi_params
-rw-r--r-- 1 Admin Administrators  664 Dec 26 21:30 uwsgi_params.default
-rw-r--r-- 1 Admin Administrators 3610 Dec 26 21:30 win-utf

我尝试运行$ chmod -R 0777 conf,但这似乎没有任何影响。

我做错了什么?以及如何更改它,以便在 nginx.exe 的本地目录中搜索日志和 conf 文件,而不是在 /usr/local/nginx folder(我在 msys\1.0\local\nginx 搜索后发现)?

谢谢!

【问题讨论】:

【参考方案1】:

尝试使用空的--prefix= 配置动态路径

自动/配置 --with-cc=gcc --without-http_rewrite_module --without-http_gzip_module --prefix= --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access.log --error-log-路径=logs/error.log

【讨论】:

以上是关于在 Windows 上从源代码构建 nginx的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上从源代码构建 NSIS(VS2012)

PyQt5 5.8.2 在 Windows 10 上从源代码构建

在 Windows 上从 Qt Creator 进入 Qt Sources(不是从源代码构建的)

sh 在Ubuntu 14.04上从源代码安装Nginx,OpenSSL和ngx_pagespeed

我是不是必须在 Ubuntu 18.04 上从源代码构建 clang-11 才能卸载 OpenMP GPU 目标?

在 Linux 机器上从源代码构建 Qt-4.3.2