2017-04-19 80 views
0

我只是下載nginx。然後我去的nginx的目錄,然後執行三個命令逐個如下:
nginx c模塊hello world不工作

./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-modulemake。一切看起來都不錯。
然後我重新加載服務器:nginx -s reload

但是,我無法得到正確的答覆。這意味着當我做curl -i http://localhost/test時,我得到的是404 Not Found,而不是hello世界字符串。

回答

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 
+0

我想我已經找到了原因:'當我重新編輯'pathOfNginx/nginx的/ conf目錄/ nginx.conf'在/ usr /本地/ nginx的/ conf'不能更新。我不確定我應該爲這個問題做些什麼。現在,我可以做的是'rm -rf/usr/local/nginx'並重新配置並重新制作整個nginx。 – Yves

+0

@餘輝查看我的更新以瞭解訂單事件。 – Attie