Nginx 安裝配置
【依賴庫】
[ zlib ]
(下載)http://download.chinaunix.net/download.php?id=24013&ResourceID=12241
[ pcre ]
apt-get install libpcre-dev
[ openssl ]
(下載)http://download.chinaunix.net/download.php?id=39379&ResourceID=11
【configure】
[ 編譯命令 ]
./configure
--prefix=/work/nginx/
--with-pcre
--with-http_ssl_module
--with-openssl=/usr/local/ssl
#--with-zlib=/usr/local/zlib #此處會導致 make distclean 異常
[ 成功提示 ]
creating objs/MakefileConfiguration summary+ using system PCRE library+ using OpenSSL library: /usr/local/ssl+ using zlib library: /usr/local/zlibnginx path prefix: "/work/nginx/"nginx binary file: "/work/nginx//sbin/nginx"nginx modules path: "/work/nginx//modules"nginx configuration prefix: "/work/nginx//conf"nginx configuration file: "/work/nginx//conf/nginx.conf"nginx pid file: "/work/nginx//logs/nginx.pid"nginx error log file: "/work/nginx//logs/error.log"nginx http access log file: "/work/nginx//logs/access.log"nginx http client request body temporary files: "client_body_temp"nginx http proxy temporary files: "proxy_temp"nginx http fastcgi temporary files: "fastcgi_temp"nginx http uwsgi temporary files: "uwsgi_temp"nginx http scgi temporary files: "scgi_temp"
【 make 錯誤 】
[ .openssl 目錄問題 ]
/bin/sh: line 2: ./config: No such file or directory
make[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 127
make[1]: Leaving directory `/usr/local/src/nginx-1.9.9'
make: *** [build] Error 2
[ 解決方式 ]
修改文件:/usr/local/src/nginx-1.9.9/auto/lib/openssl/conf
找到:
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
替換為:
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
其實就是去掉 .openssl 目錄。
[ make distclean ]
make -f objs/Makefile
make[1]: Entering directory `/home/newton/nginx-1.13.4'
cd /usr/local/zlib \&& make distclean \&& CFLAGS="-O2 -fomit-frame-pointer -pipe " CC="cc" \./configure \&& make libz.a
/bin/sh: 3: Syntax error: "&&" unexpected
make[1]: *** [/usr/local/zlib/libz.a] Error 2
make[1]: Leaving directory `/home/newton/nginx-1.13.4'
make: *** [build] Error 2
[ 解決方案 ]
將 configure 的編輯模塊中,去掉 --with-zlib
** 如果有其它解決方案,歡迎分享 **
【make & make install】
[ make ]
objs/src/http/modules/ngx_http_upstream_zone_module.o \objs/ngx_modules.o \-ldl -lpthread -lcrypt -lpcre /usr/local/openssl/lib/libssl.a /usr/local/openssl/lib/libcrypto.a -ldl -lz \-Wl,-E
sed -e "s|%%PREFIX%%|/work/nginx/|" \-e "s|%%PID_PATH%%|/work/nginx//logs/nginx.pid|" \-e "s|%%CONF_PATH%%|/work/nginx//conf/nginx.conf|" \-e "s|%%ERROR_LOG_PATH%%|/work/nginx//logs/error.log|" \< man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/home/newton/nginx-1.13.4'
[ make install ]
make -f objs/Makefile install
make[1]: Entering directory `/home/newton/nginx-1.13.4'
test -d '/work/nginx/' || mkdir -p '/work/nginx/'
test -d '/work/nginx//sbin' \|| mkdir -p '/work/nginx//sbin'
test ! -f '/work/nginx//sbin/nginx' \|| mv '/work/nginx//sbin/nginx' \'/work/nginx//sbin/nginx.old'
cp objs/nginx '/work/nginx//sbin/nginx'
test -d '/work/nginx//conf' \|| mkdir -p '/work/nginx//conf'
cp conf/koi-win '/work/nginx//conf'
cp conf/koi-utf '/work/nginx//conf'
cp conf/win-utf '/work/nginx//conf'
test -f '/work/nginx//conf/mime.types' \|| cp conf/mime.types '/work/nginx//conf'
cp conf/mime.types '/work/nginx//conf/mime.types.default'
test -f '/work/nginx//conf/fastcgi_params' \|| cp conf/fastcgi_params '/work/nginx//conf'
cp conf/fastcgi_params \'/work/nginx//conf/fastcgi_params.default'
test -f '/work/nginx//conf/fastcgi.conf' \|| cp conf/fastcgi.conf '/work/nginx//conf'
cp conf/fastcgi.conf '/work/nginx//conf/fastcgi.conf.default'
test -f '/work/nginx//conf/uwsgi_params' \|| cp conf/uwsgi_params '/work/nginx//conf'
cp conf/uwsgi_params \'/work/nginx//conf/uwsgi_params.default'
test -f '/work/nginx//conf/scgi_params' \|| cp conf/scgi_params '/work/nginx//conf'
cp conf/scgi_params \'/work/nginx//conf/scgi_params.default'
test -f '/work/nginx//conf/nginx.conf' \|| cp conf/nginx.conf '/work/nginx//conf/nginx.conf'
cp conf/nginx.conf '/work/nginx//conf/nginx.conf.default'
test -d '/work/nginx//logs' \|| mkdir -p '/work/nginx//logs'
test -d '/work/nginx//logs' \|| mkdir -p '/work/nginx//logs'
test -d '/work/nginx//html' \|| cp -R html '/work/nginx/'
test -d '/work/nginx//logs' \|| mkdir -p '/work/nginx//logs'
make[1]: Leaving directory `/home/newton/nginx-1.13.4'
【配置快捷方式】
ln /work/nginx/sbin/nginx /usr/bin/nginx
【啟動Nginx】
nginx
【查看進程】
root@umaster:/work/project# ps awx|grep nginx
33665 ? Ss 0:00 nginx: master process nginx
33666 ? S 0:00 nginx: worker process
34029 pts/0 S+ 0:00 grep --color=auto nginx
【Nginx配置】
主要是:日志、端口號、腳本目錄、首頁文件名;
打開配置文件: /work/nginx/conf/nginx.conf
#[ 錯誤日志 ]
error_log logs/error.log;
#[ 服務相關 ]
server {listen 88; #監聽HTTP端口;server_name localhost; #訪問地址;#charset koi8-r;#access_log logs/host.access.log main;location /work { #腳本根目錄root html; #入口目錄index index.html index.htm; #默認執行的首頁文件}
【重啟Nginx】
nginx -s reload :修改配置后重新加載生效