我只需下载nginx。然后我转到nginx目录并逐个执行三个命令,如下所示:
./configure
make
make install
然后我可以访问http://localhost
,一切都很顺利。
现在我试图添加一个c模块。这是hello world example。
我所做的是从Github下载示例并编辑nginx(/pathOfNginx/conf/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 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
############ this is what I add
location /test {
hello_world;
}
############ done
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
之后,我会./configure --add-module=/path/to/nginx-hello-world-module
和make
。一切看起来都很好。
然后我重新加载服务器:nginx -s reload
但是,我无法得到正确的答复。这意味着当我执行curl -i http://localhost/test
时,我得到的是404 Not Found,而不是hello world string。
答案 0 :(得分:0)
对我有用!
提供包含hello world\0
...
请记住,第二次运行./configure
时,您需要再次提供所有选项(它正在替换配置,而不是更新它)。
此外,您需要使用make install
来执行此操作,否则将不会更新已安装的二进制文件。
# get everything
wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -xvf nginx-1.12.0.tar.gz
git clone https://github.com/perusio/nginx-hello-world-module
# configure
(
cd nginx-1.12.0
./configure --prefix=../nginx --add-module=../nginx-hello-world-module/
)
# build & install
make -C ./nginx-1.12.0 -j8
make -C ./nginx-1.12.0 install
# update config
cat <<EOF >./nginx/conf/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 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
############ this is what I add
location /test {
hello_world;
}
############ done
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
EOF
# run
(
cd nginx
./sbin/nginx
)
# test
curl http://localhost:80/test