nginx源码编译安装及使用
一、基本安裝
從 nginx官方下載頁下載所需要的穩(wěn)定版本nginx源碼后,只需要執(zhí)行以下命令即可(以 nginx-1.22.0 為例)
wget http://nginx.org/download/nginx-1.22.0.tar.gz tar -xvf nginx-1.22.0.tar.gz cd nginx-1.22.0 ./configure make sudo make install其中在執(zhí)行完 ./configure 指令后,會有以下輸出,顯示了默認(rèn)情況下 nginx可執(zhí)行文件、配置文件、日志文件位置這些重要信息。
nginx path prefix: "/usr/local/nginx"nginx binary file: "/usr/local/nginx/sbin/nginx"nginx modules path: "/usr/local/nginx/modules"nginx configuration prefix: "/usr/local/nginx/conf"nginx configuration file: "/usr/local/nginx/conf/nginx.conf"nginx pid file: "/usr/local/nginx/logs/nginx.pid"nginx error log file: "/usr/local/nginx/logs/error.log"nginx http access log file: "/usr/local/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"安裝的時(shí)候沒有注意上面的信息也沒關(guān)系,可以通過執(zhí)行 nginx -V 指令獲得當(dāng)前nginx的各項(xiàng)配置信息。
二、自定義安裝
2.1 ./configure 參數(shù)
默認(rèn)的安裝方式可能不能滿足自己的需要,可以在執(zhí)行 ./configure 指令時(shí)設(shè)定參數(shù),來滿足實(shí)際所需
–prefix=PATH:Nginx安裝部署后的根目錄,默認(rèn)為/usr/local/nginx。這個(gè)目標(biāo)的設(shè)置會影響其他參數(shù)中的相對目錄。例如:如果設(shè)置了–sbin-path=sbin/nginx,那么實(shí)際上可執(zhí)行文件會被放到/usr/local/nginx/sbin/nginx中
–sbin-path=PATH:可執(zhí)行文件的放置路徑。默認(rèn)為/sbin/nginx
–conf-path=PATH:配置文件的放置路徑。默認(rèn)為/conf/nginx.conf
–error-log-path=PATH:error日志文件的放置路徑,默認(rèn)為/logs/error.log
–pid-path=PATH:pid文件的存放路徑。以ASCII碼存放Nginx master的進(jìn)程ID,在使用命令行式(例如nginx -s reload)通過讀取master進(jìn)程ID向master進(jìn)程發(fā)送信號時(shí),才能對運(yùn)行中Nginx服務(wù)產(chǎn)生作用,默認(rèn)為/logs/nginx.pid
–lock-path=PATH:lock文件的放置路徑,默認(rèn)為/logs/nginx.lock
–builddir=DIR:configure執(zhí)行時(shí)與編譯期間產(chǎn)生的臨時(shí)文件放置的目錄,包括產(chǎn)生的Makefile、C源文件、目標(biāo)文件、可執(zhí)行文件等。默認(rèn)為/objs
–with-http_perl_module:
–with-http_perl_module=dynamic:
–with-perl_modules_path=PATH:perl模塊放置的路徑,只有使用第三方perl模塊才需要配置此路徑。
–with-perl=PATH:perl二進(jìn)制放置路徑。如果配置的Nginx會執(zhí)行Perl腳本,那么必須要設(shè)置此路徑
–http-log-path=PATH:access日志放置的位置。每一個(gè)HTTP請求在結(jié)束時(shí)都會記錄的訪問日志。默認(rèn)為/logs/access.log
–http-client-body-temp-path=PATH:處理HTTP請求時(shí)如果請求的包體需要暫時(shí)存放到臨時(shí)磁盤文件中,則把這樣的臨時(shí)文件放置到該路徑下。默認(rèn)為/client_body_temp
–http-proxy-temp-path=PATH:Nginx作為HTTP反向代理服務(wù)器時(shí),上游服務(wù)器產(chǎn)生的HTTP包體需要臨時(shí)存放到磁盤文件的路徑。默認(rèn)為/proxy_temp
–http-fastcgi-temp-path=PATH:Fastcgi所使用臨時(shí)文件的放置目錄,默認(rèn)為/fastcgi_temp
–http-uwsgi-temp-path=PATH:uWSGI所使用臨時(shí)文件的放置目錄,默認(rèn)為/uwsgi_temp
–http-scgi-temp-path=PATH:SCGI所使用臨時(shí)文件的放置目錄,默認(rèn)為/scgi_temp
三、nginx使用
3.1 多個(gè)域名監(jiān)聽同一個(gè)端口
nginx支持多個(gè)域名監(jiān)聽同一個(gè)端口,比如80端口,不過這些域名所使用的nginx,必須在同一個(gè)nginx下管理,一般是把每個(gè)域名一個(gè)server配置文件,所有域名的配置文件都放在vhosts目錄下。這樣的話,一臺機(jī)器就可以部署多個(gè)域名的服務(wù)了,如果用兩個(gè)不同的nginx來監(jiān)聽同一個(gè)端口的話,第二個(gè)啟動的nginx服務(wù)將因?yàn)槎丝谝呀?jīng)被使用而啟動失敗。
參考
https://blog.csdn.net/hzb869168467/article/details/110672906
總結(jié)
以上是生活随笔為你收集整理的nginx源码编译安装及使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx系列第一篇:nginx源码下载
- 下一篇: Fortran并行计算的一些例子