RHEL/CentOS下编译安装Nginx
##下載nginx源碼:
wget?http://nginx.org/download/nginx-1.7.8.tar.gz tar?-xv?-f?nginx-1.7.8.tar.gz?-C?/usr/local/src/##安裝編譯環境和必須的組件:
yum?groupinstall?'Development?Tools' yum?install?pcre?pcre-devel?zlib?zlib-devel?openssl?openssl-devel?gcc?gcc-c++?perl?perl-devel?perl-ExtUtils-Embed.noarch##創建nginx用戶和組:
groupadd?-r?nginx useradd?-s?/sbin/nologin?-g?nginx?-c?'Nginx?web?server'?-r?nginx##創建用于存放臨時數據的目錄:
mkdir?-p?/var/tmp/nginx/tmp##編譯安裝nginx:
./configure?\ --prefix=/usr/local/nginx?\#設置nginx的根目錄 --conf-path=/etc/nginx/nginx.conf?\#設置nginx配置文件的路徑 --error-log-path=/var/log/nginx/error.log?\#設置錯誤日志的路徑 --http-log-path=/var/log/nginx/access.log?\#設置訪問日志的路徑 --http-client-body-temp-path=/var/tmp/nginx/tmp/client_body?\#設置客戶端http請求的臨時文件存放的位置 --http-proxy-temp-path=/var/tmp/nginx/tmp/proxy?\#nginx作為反向代理時,上游服務器產生的http包體臨時存放的位置 --http-fastcgi-temp-path=/var/tmp/nginx/tmp/fastcgi?\#Fastcgi所使用臨時文件的存放位置 --http-uwsgi-temp-path=/var/tmp/nginx/tmp/uwsgi?\#uWSGI?所使用臨時文件的存放位置 --http-scgi-temp-path=/var/tmp/nginx/tmp/scgi?\#SCGI所使用臨時文件的存放位置 --with-http_ssl_module?\#安裝http?ssl模塊。依賴于OpenSSL開源軟件 --with-http_flv_module?\#安裝http?flv模塊。以使客戶端可以觀看、拖動FLV視頻 --with-http_mp4_module?\#安裝http?mp4模塊。以使客戶端可以觀看、拖動MP4視頻 --with-http_gzip_static_module?\#安裝http?gzip?static模塊。如果采用gzip模塊把一些文檔進行gzip格式壓縮后再返回給客戶端,gzip?static模塊可以在做gzip壓縮前,先查看相同位置是否有已經做過gzip壓縮的.gz文件,如果有,就直接返回。這樣就可以預先在服務器上做好文檔的壓縮,給CPU減負 --with-http_perl_module?\#安裝http?perl模塊。使nginx支持perl腳本 --with-ld-opt="-Wl,-E"?\#編譯最終的可執行文件時加入一些第三方庫。 --with-mail?\#安裝郵件服務器反向代理模塊,使Nginx可以反向代理IMAP、POP3、SMTP等協議 --with-mail_ssl_module?\#安裝mail?ssl模塊。該模塊可以使IMAP、POP3、SMTP?等協議基于SSL/TLS協議之上使用。依賴于OpenSSL庫 --with-http_stub_status_module?\#安裝http?stub?status模塊。該模塊可以讓運行中的Nginx***能統計頁面,獲取相關的并發連接、請求的信息 --user=nginx?\#指定Nginx?worker進程運行時所屬的用戶。注意:不要將啟動worker進程的用戶設為root,在worker進程出問題時master進程要具備停止/啟動worker進程的能力 --group=nginx#指定Nginx?worker進程運行時所屬的組make?&&?make?install##安裝完后可再檢查一下安裝的一些信息,如下:
# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.7.8
built by gcc 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tmp/nginx/tmp/client_body --http-proxy-temp-path=/var/tmp/nginx/tmp/proxy --http-fastcgi-temp-path=/var/tmp/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/tmp/uwsgi --http-scgi-temp-path=/var/tmp/nginx/tmp/scgi --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_perl_module --with-ld-opt=-Wl,-E --with-mail --with-mail_ssl_module --with-http_stub_status_module --user=nginx --group=nginx
##測試一下nginx能否啟動(主要是看配置文件是否正確):
#?/usr/local/nginx/sbin/nginx?-tnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
##為了在使用nginx命令的時不用每次都輸入絕對路徑,可以通過修改PATH環境變量,:
#?vim?/etc/profile添加:
PATH=${PATH}:/usr/local/nginx/sbin##如果只想對本用戶生效可修改
#?vim?~/.bash_profile修改:
PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin轉載于:https://blog.51cto.com/yinkai/1591128
總結
以上是生活随笔為你收集整理的RHEL/CentOS下编译安装Nginx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 〖Linux〗穿越城墙之后,直接连接国内
- 下一篇: 学滑冰