CentOS7编译安装nginx-1.8.1和编译参数
Web服務器Nginx
? ? LNMP是一組眾所周知的Web網站服務器架構環境,即由Linux+Nginx+MySQL+PHP(MySQL有時也指 Mariadb)組合成一個高性能、輕量、穩定、擴展性強的Web網站服務器架構環境。
? ? Nginx ("engine x") 作為Web服務器軟件,是一個輕量級、高性能的HTTP和反向代理服務器,負 載均衡服務器,及電子郵件IMAP/POP3/SMTP 服務器。Nginx性能穩定、功能豐富、運維簡單、效率高 、并發能力強、處理靜態文件速度快且消耗系統資源極少。
Nginx的版本
? ? Nginx版本分為主線版和穩定版,主線版更新速度較快,從官網上看大約一個月更新1-2次,目前 最新主線版已更新到nginx-1.9.10,而官方宣布的最新穩定版則是nginx-1.8.1,and本文就以1.8.1 版為例演示其在CentOS7上的安裝和配置過程。Nginx官方網站http://nginx.org/。
Nginx的依賴程序
1、zlib:用于支持gzip模塊
2、pcre:用于支持rewrite模塊
3、openssl:用于支持ssl功能
使用yum安裝zlib、pcre、openssl軟件包
| 1 | [root@www?~]#?yum?install?zlib?pcre?pcre-devel?openssl?openssl-devel |
Nginx-1.8.1的安裝
step1:創建nginx用戶
創建一個nginx的運行用戶
| 1 2 3 | [root@www?~]#?useradd?-s?/sbin/nologin?nginx [root@www?~]#?id?nginx uid=1000(nginx)?gid=1001(nginx)?groups=1001(nginx) |
step2:Nginx編譯參數
--user ? ??????????指定啟動程序所屬用戶
--group ? ? ? ? ?指定組
--prefix ? ? ? ? ? 指定安裝路徑
--sbin-path ? ? 設置nginx二進制文件的路徑名
--conf-path ? ? 指定配置文件路徑
--error-log-path ? ?錯誤日志文件路徑
--http-log-path ? ? 指定訪問日志文件路徑
--http-client-body-temp-path ? ?設置存儲HTTP客戶端請求主體的臨時文件路徑
--http-proxy-temp-path ? ? ? ? ? ? 設置存儲HTTP代理臨時文件的路徑
--http-fastcgi-temp-path ? ? ? ? ? 設置存儲HTTP fastcgi的臨時文件的路徑
--pid-path ? ? ? ? ?設置nginx.pid文件路徑
--lock-path ? ? ? ? 設置nginx.lock文件路徑
--with-openssl ? ?啟用SSL
--with-pcre ? ? ? ? 啟用正則表達式
--with-http_stub_status_module ? ?安裝可以監控nginx狀態的模塊
--with-http_ssl_module ? ? ? ? ? ? ? ? 啟用SSL支持
--with-http_gzip_static_module ? ?啟用gzip壓縮
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [root@www?nginx-1.8.1]#?./configure?\ --user=nginx?\ --group=nginx?\ --prefix=/opt/nginx?\ --sbin-path=/usr/sbin/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=/tmp/nginx/client_body?\ --http-proxy-temp-path=/tmp/nginx/proxy?\ --http-fastcgi-temp-path=/tmp/nginx/fastcgi?\ --pid-path=/var/run/nginx.pid?\ --lock-path=/var/lock/subsys/nginx?\ --with-http_stub_status_module?\ --with-http_ssl_module?\ --with-http_gzip_static_module?\ --with-pcre?\ --with-http_realip_module?\ --with-http_sub_module |
| 1 2 | [root@www?nginx-1.8.1]#?make [root@www?nginx-1.8.1]#?make?install |
make安裝完成使用nginx -V 查看版本和編譯參數
| 1 2 3 4 5 6 | [root@www?nginx-1.8.1]#?nginx?-V? nginx?version:?nginx/1.8.1 built?by?gcc?4.8.3?20140911?(Red?Hat?4.8.3-9)?(GCC)? built?with?OpenSSL?1.0.1e-fips?11?Feb?2013 TLS?SNI?support?enabled configure?arguments:?--user=nginx?--group=nginx?--prefix=/opt/nginx?--sbin-path=/usr/sbin/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=/tmp/nginx/client_body?--http-proxy-temp-path=/tmp/nginx/proxy?--http-fastcgi-temp-path=/tmp/nginx/fastcgi?--pid-path=/var/run/nginx.pid?--lock-path=/var/lock/subsys/nginx?--with-http_stub_status_module?--with-http_ssl_module?--with-http_gzip_static_module?--with-pcre?--with-http_realip_module?--with-http_sub_module |
查看ngin進程和端口號
| 1 2 | [root@www?~]#?netstat?-ntlp?|?grep?nginx tcp????????0??????0?0.0.0.0:80??????????????0.0.0.0:*???????????????LISTEN??????4415/nginx:?master |
step3:控制nginx服務的命令
1、啟動:nginx
2、停止:nginx -s stop
3、退出:nginx -s quit
4、重啟:nginx -s reopen
5、重新加載:nginx -s reload
6、平滑啟動:kill -HUP pid(kill -HUP `cat /var/run/nginx.pid`)
step4:創建nginx啟動腳本
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #!/bin/bash #?chkconfig:?-?18?21 #?description:?http?service. #?Source?Function?Library .?/etc/init.d/functions #?Nginx?Settings NGINX_SBIN="/usr/sbin/nginx" NGINX_CONF="/etc/nginx/nginx.conf" NGINX_PID="/var/run/nginx.pid" RETVAL=0 prog="Nginx" #Source?networking?configuration .?/etc/sysconfig/network #?Check?networking?is?up [?${NETWORKING}?=?"no"?]?&&?exit?0 [?-x?$NGINX_SBIN?]?||?exit?0 start()?{ ????????echo?-n?$"Starting?$prog:?" ????????touch?/var/lock/subsys/nginx ????????daemon?$NGINX_SBIN?-c?$NGINX_CONF ????????RETVAL=$? ????????echo ????????return?$RETVAL } stop()?{ ????????echo?-n?$"Stopping?$prog:?" ????????killproc?-p?$NGINX_PID?$NGINX_SBIN?-TERM ????????rm?-rf?/var/lock/subsys/nginx?/var/run/nginx.pid ????????RETVAL=$? ????????echo ????????return?$RETVAL } reload(){ ????????echo?-n?$"Reloading?$prog:?" ????????killproc?-p?$NGINX_PID?$NGINX_SBIN?-HUP ????????RETVAL=$? ????????echo ????????return?$RETVAL } restart(){ ????????stop ????????start } configtest(){ ????$NGINX_SBIN?-c?$NGINX_CONF?-t ????return?0 } case?"$1"?in ??start) ????????start ????????;; ??stop) ????????stop ????????;; ??reload) ????????reload ????????;; ??restart) ????????restart ????????;; ??configtest) ????????configtest ????????;; ??*) ????????echo?$"Usage:?$0?{start|stop|reload|restart|configtest}" ????????RETVAL=1 esac exit?$RETVAL |
設置開機啟動
| 1 2 3 4 5 6 7 | [root@www?~]#?chmod?755?/etc/init.d/nginx [root@www?~]#?chkconfig?--add?nginx [root@www?~]#?chkconfig?nginx?on [root@www?~]#?service?nginx?stop Stopping?nginx?(via?systemctl):????????????????????????????[??OK??] [root@www?~]#?service?nginx?start Starting?nginx?(via?systemctl):????????????????????????????[??OK??] |
設置防火墻規則,允許外部訪問80端口
| 1 2 | [root@www?~]#?firewall-cmd?--permanent?--add-port=80/tcp [root@www?~]#?firewall-cmd?--reload |
step5:測試訪問
在瀏覽器輸入http://Your-IP/
本文轉自 HMLinux 51CTO博客,原文鏈接:http://blog.51cto.com/7424593/1740244
總結
以上是生活随笔為你收集整理的CentOS7编译安装nginx-1.8.1和编译参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统命令三剑客之 awk
- 下一篇: 极路由+NETGEAR 传输无线网络