CentOS 6.5 源码安装Nginx

一、软件配置信息

CentOS 6.5

二、必要软件准备

检查安装pcre,openssl,gzip命令如下:

yuminstall-yzlibzlib-develpcrepcre-developensslopenssl-devel

三、创建Nginx用户与组

[root@localhostsrc]#groupaddnginx
[root@localhostsrc]#useradd-r-gnginx-s/sbin/nologin-Mnginx

四、下载解压

Nginx可以从官网下载:http://nginx.org/

也可以通过命令直接下载,我的当前目录是/usr/local/src:

[root@localhostsrc]#wgethttp://nginx.org/download/nginx-1.10.1.tar.gz

解压:

[root@localhostsrc]#tarzxvfnginx-1.10.1.tar.gz
[root@localhostsrc]#cdnginx-1.10.1

五、开始安装

[root@localhostsrc]#cdnginx-1.6.3

[root@localhostnginx-1.6.3]#./configure--prefix=/usr/local/nginx--sbin-path=/usr/sbin/nginx--conf-path=/usr/local/nginx/conf/nginx.conf--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log--pid-path=/var/run/nginx.pid--lock-path=/var/run/nginx.lock--http-client-body-temp-path=/var/cache/nginx/client_temp--http-proxy-temp-path=/var/cache/nginx/proxy_temp--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp--http-scgi-temp-path=/var/cache/nginx/scgi_temp--user=nginx--group=nginx--with-http_ssl_module--with-http_realip_module--with-http_addition_module--with-http_sub_module--with-http_dav_module--with-http_flv_module--with-http_mp4_module--with-http_gunzip_module--with-http_gzip_static_module--with-http_random_index_module--with-http_secure_link_module--with-http_stub_status_module--with-http_auth_request_module--with-file-aio--with-http_spdy_module--with-ipv6--with-pcre

./configure\
--prefix=/usr/local/nginx\
--sbin-path=/usr/sbin/nginx\
--conf-path=/usr/local/nginx/conf/nginx.conf\
--error-log-path=/var/log/nginx/error.log\
--http-log-path=/var/log/nginx/access.log\
--pid-path=/var/run/nginx.pid\
--lock-path=/var/run/nginx.lock\
--http-client-body-temp-path=/var/cache/nginx/client_temp\
--http-proxy-temp-path=/var/cache/nginx/proxy_temp\
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp\
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp\
--http-scgi-temp-path=/var/cache/nginx/scgi_temp\
--user=nginx\
--group=nginx\
--with-http_ssl_module\
--with-http_realip_module\
--with-http_addition_module\
--with-http_sub_module\
--with-http_dav_module\
--with-http_flv_module\
--with-http_mp4_module\
--with-http_gunzip_module\
--with-http_gzip_static_module\
--with-http_random_index_module\
--with-http_secure_link_module\
--with-http_stub_status_module\
--with-http_auth_request_module\
--with-file-aio\
--with-http_spdy_module\
--with-ipv6\
--with-pcre

[root@localhostnginx-1.6.3]#make
[root@localhostnginx-1.6.3]#makeinstall

六、启动停止

启动命令:

[root@localhostnginx-1.6.3]#/usr/sbin/nginx

测试,直接用curl命令读取web信息:

[root@localhostsbin]#curl-shttp://localhost|grepnginx.com

关闭命令:

[root@localhostnginx-1.6.3]#/usr/sbin/nginx-sstop
reload,当你修改配置时,用此命令不用再重启就生效了:
[root@localhostnginx-1.6.3]#/usr/sbin/nginx-sreload

七、配置Nginx为系统服务
添加如下文件:

vi/etc/init.d/nginx
#!/bin/sh
#
#nginxStartupscriptfornginx
#
#chkconfig:-8515
#processname:nginx
#config:/etc/nginx/nginx.conf
#config:/etc/sysconfig/nginx
#pidfile:/var/run/nginx.pid
#description:nginxisanHTTPandreverseproxyserver
#
###BEGININITINFO
#Provides:nginx
#Required-Start:$local_fs$remote_fs$network
#Required-Stop:$local_fs$remote_fs$network
#Default-Start:2345
#Default-Stop:016
#Short-Description:startandstopnginx
###ENDINITINFO

#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions

if[-L$0];then
initscript=`/bin/readlink-f$0`
else
initscript=$0
fi

sysconfig=`/bin/basename$initscript`

if[-f/etc/sysconfig/$sysconfig];then
./etc/sysconfig/$sysconfig
fi

nginx=${NGINX-/usr/sbin/nginx}
prog=`/bin/basename$nginx`
conffile=${CONFFILE-/etc/nginx/nginx.conf}
lockfile=${LOCKFILE-/var/lock/subsys/nginx}
pidfile=${PIDFILE-/var/run/nginx.pid}
SLEEPMSEC=${SLEEPMSEC-200000}
UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS-5}
RETVAL=0

start(){
echo-n$"Starting$prog:"

daemon--pidfile=${pidfile}${nginx}-c${conffile}
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}

stop(){
echo-n$"Stopping$prog:"
killproc-p${pidfile}${prog}
RETVAL=$?
echo
[$RETVAL=0]&&rm-f${lockfile}${pidfile}
}

reload(){
echo-n$"Reloading$prog:"
killproc-p${pidfile}${prog}-HUP
RETVAL=$?
echo
}

upgrade(){
oldbinpidfile=${pidfile}.oldbin

configtest-q||return
echo-n$"Startingnewmaster$prog:"
killproc-p${pidfile}${prog}-USR2
echo

foriin`/usr/bin/seq$UPGRADEWAITLOOPS`;do
/bin/usleep$SLEEPMSEC
if[-f${oldbinpidfile}-a-f${pidfile}];then
echo-n$"Gracefulshutdownofold$prog:"
killproc-p${oldbinpidfile}${prog}-QUIT
RETVAL=$?
echo
return
fi
done

echo$"Upgradefailed!"
RETVAL=1
}

configtest(){
if["$#"-ne0];then
case"$1"in
-q)
FLAG=$1
;;
*)
;;
esac
shift
fi
${nginx}-t-c${conffile}$FLAG
RETVAL=$?
return$RETVAL
}

rh_status(){
status-p${pidfile}${nginx}
}

#Seehowwewerecalled.
case"$1"in
start)
rh_status>/dev/null2>&1&&exit0
start
;;
stop)
stop
;;
status)
rh_status
RETVAL=$?
;;
restart)
configtest-q||exit$RETVAL
stop
start
;;
upgrade)
rh_status>/dev/null2>&1||exit0
upgrade
;;

condrestart|try-restart)
ifrh_status>/dev/null2>&1;then
stop
start
fi
;;
force-reload|reload)
reload
;;
configtest)
configtest
;;
*)
echo$"Usage:$prog{start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}"
RETVAL=2
esac

exit$RETVAL
  1. 修改文件权限:

chmod+x/etc/init.d/nginx

查看Nginx服务:

chkconfig--listnginx
nginx0:off1:off2:on3:on4:on5:on6:off

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...