源码下载地址:http://nginx.org/download/
集成安装
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
先把1.17.10版本的安装包上传到服务器
#1.解压
tar -zxvf nginx-1.17.10.tar.gz
#2.配置
使用默认配置
./configure
#3.然后进行编译
make
#4.安装
make install
安装完成后,会上一级出现这些目录

#5.创建软链接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
cd /usr/local/nginx/sbin
#6.开机自启动
创建该文件
vim /etc/init.d/nginx
文件的内容:
-
#!/bin/sh
-
#
-
# nginx - this script starts and stops the nginx daemon
-
#
-
# chkconfig: - 85 15
-
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
-
# proxy and IMAP/POP3 proxy server
-
# processname: nginx
-
# config: /usr/local/nginx/conf/nginx.conf
-
# config: /etc/sysconfig/nginx
-
# pidfile: /usr/local/nginx/logs/nginx.pid
-
# Source function library.
-
. /etc/rc.d/init.d/functions
-
# Source networking configuration.
-
. /etc/sysconfig/network
-
# Check that networking is up.
-
[ "$NETWORKING" = "no" ] && exit 0
-
nginx="/usr/local/nginx/sbin/nginx"
-
prog=$(basename $nginx)
-
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
-
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
-
lockfile=/var/lock/subsys/nginx
-
make_dirs() {
-
# make required directories
-
user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
-
if [ -z "`grep $user /etc/passwd`" ]; then
-
useradd -M -s /bin/nologin $user
-
fi
-
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
-
for opt in $options; do
-
if [ `echo $opt | grep '.*-temp-path'` ]; then
-
value=`echo $opt | cut -d "=" -f 2`
-
if [ ! -d "$value" ]; then
-
# echo "creating" $value
-
mkdir -p $value && chown -R $user $value
-
fi
-
fi
-
done
-
}
-
start() {
-
[ -x $nginx ] || exit 5
-
[ -f $NGINX_CONF_FILE ] || exit 6
-
make_dirs
-
echo -n $"Starting $prog: "
-
daemon $nginx -c $NGINX_CONF_FILE
-
retval=$?
-
echo
-
[ $retval -eq 0 ] && touch $lockfile
-
return $retval
-
}
-
stop() {
-
echo -n $"Stopping $prog: "
-
killproc $prog -QUIT
-
retval=$?
-
echo
-
[ $retval -eq 0 ] && rm -f $lockfile
-
return $retval
-
}
-
restart() {
-
configtest || return $?
-
stop
-
sleep 1
-
start
-
}
-
reload() {
-
configtest || return $?
-
echo -n $"Reloading $prog: "
-
killproc $nginx -HUP
-
RETVAL=$?
-
echo
-
}
-
force_reload() {
-
restart
-
}
-
configtest() {
-
$nginx -t -c $NGINX_CONF_FILE
-
}
-
rh_status() {
-
status $prog
-
}
-
rh_status_q() {
-
rh_status >/dev/null 2>&1
-
}
-
case "$1" in
-
start)
-
rh_status_q && exit 0
-
$1
-
;;
-
stop)
-
rh_status_q || exit 0
-
$1
-
;;
-
restart|configtest)
-
$1
-
;;
-
reload)
-
rh_status_q || exit 7
-
$1
-
;;
-
force-reload)
-
force_reload
-
;;
-
status)
-
rh_status
-
;;
-
condrestart|try-restart)
-
rh_status_q || exit 0
-
;;
-
*)
-
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
-
exit 2
-
esac
#7.赋予脚本可执行权限
chmod a+x /etc/init.d/nginx
#8.将nginx服务加入chkconfig管理列表
chkconfig --add /etc/init.d/nginx
chkconfig nginx on
#9.启动
systemctl start nginx
#10.测试
curl localhost:80
#11.常用命令
-
# 启动
-
systemctl start nginx
-
# 查看状态
-
systemctl status nginx
-
# 停止
-
systemctl stop nginx
-
# 重载配置
-
nginx -s reload
-
# 测试配置是否正确
-
nginx -t