新聞中心
web服務(wù)器Nginx
LNMP是一組眾所周知的Web網(wǎng)站服務(wù)器架構(gòu)環(huán)境,即由Linux+Nginx+mysql+PHP(MySQL有時(shí)也指 Mariadb)組合成一個(gè)高性能、輕量、穩(wěn)定、擴(kuò)展性強(qiáng)的Web網(wǎng)站服務(wù)器架構(gòu)環(huán)境。
Nginx ("engine x") 作為Web服務(wù)器軟件,是一個(gè)輕量級(jí)、高性能的HTTP和反向代理服務(wù)器,負(fù) 載均衡服務(wù)器,及電子郵件IMAP/POP3/SMTP 服務(wù)器。Nginx性能穩(wěn)定、功能豐富、運(yùn)維簡(jiǎn)單、效率高 、并發(fā)能力強(qiáng)、處理靜態(tài)文件速度快且消耗系統(tǒng)資源極少。

Nginx的版本
Nginx版本分為主線版和穩(wěn)定版,主線版更新速度較快,從官網(wǎng)上看大約一個(gè)月更新1-2次,目前 最新主線版已更新到nginx-1.9.10,而官方宣布的最新穩(wěn)定版則是nginx-1.8.1,and本文就以1.8.1 版為例演示其在CentOS7上的安裝和配置過(guò)程。Nginx官方網(wǎng)站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:創(chuàng)建nginx用戶
創(chuàng)建一個(gè)nginx的運(yùn)行用戶
[root@www ~]# useradd -s /sbin/nologin nginx
[root@www ~]# id nginx
uid=1000(nginx) gid=1001(nginx) groups=1001(nginx)
step2:Nginx編譯參數(shù)
--user 指定啟動(dòng)程序所屬用戶
--group 指定組
--prefix 指定安裝路徑
--sbin-path 設(shè)置nginx二進(jìn)制文件的路徑名
--conf-path 指定配置文件路徑
--error-log-path 錯(cuò)誤日志文件路徑
--http-log-path 指定訪問(wèn)日志文件路徑
--http-client-body-temp-path 設(shè)置存儲(chǔ)HTTP客戶端請(qǐng)求主體的臨時(shí)文件路徑
--http-proxy-temp-path 設(shè)置存儲(chǔ)HTTP代理臨時(shí)文件的路徑
--http-fastcgi-temp-path 設(shè)置存儲(chǔ)HTTP fastcgi的臨時(shí)文件的路徑
--pid-path 設(shè)置nginx.pid文件路徑
--lock-path 設(shè)置nginx.lock文件路徑
--with-openssl 啟用SSL
--with-pcre 啟用正則表達(dá)式
--with-http_stub_status_module 安裝可以監(jiān)控nginx狀態(tài)的模塊
--with-http_ssl_module 啟用SSL支持
--with-http_gzip_static_module 啟用gzip壓縮
[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
[root@www nginx-1.8.1]# make
[root@www nginx-1.8.1]# make install
make安裝完成使用nginx -V 查看版本和編譯參數(shù)
[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進(jìn)程和端口號(hào)
[root@www ~]# netstat -ntlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4415/nginx: master
step3:控制nginx服務(wù)的命令
1、啟動(dòng):nginx
2、停止:nginx -s stop
3、退出:nginx -s quit
4、重啟:nginx -s reopen
5、重新加載:nginx -s reload
6、平滑啟動(dòng):kill -HUP pid(kill -HUP `cat /var/run/nginx.pid`)
step4:創(chuàng)建nginx啟動(dòng)腳本
#!/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
設(shè)置開機(jī)啟動(dòng)
[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 ]
設(shè)置防火墻規(guī)則,允許外部訪問(wèn)80端口
[root@www ~]# firewall-cmd --permanent --add-port=80/tcp
[root@www ~]# firewall-cmd --reload
step5:測(cè)試訪問(wèn)
在瀏覽器輸入http://Your-IP/
新聞名稱:CentOS7編譯安裝Nginx-1.8.1和編譯參數(shù)
瀏覽路徑:http://m.fisionsoft.com.cn/article/cccegpp.html


咨詢
建站咨詢
