CentOS7安装Nginx1.14.2

安装make:

yum -y install gcc automake autoconf libtool make

安装g++:

yum install gcc gcc-c++

安装pcre和pcre-devel

yum install -y pcre pcre-devel

安装zlib zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip

yum install -y zlib zlib-devel

安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl

yum install -y openssl openssl-devel

下载nginx

wget http://nginx.org/download/nginx-1.14.2.tar.gz

解压

tar -zxvf nginx-1.14.2.tar.gz

cd到文件路径

cd nginx-1.14.2

编译

 ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tem/nginx/client --http-proxy-temp-path=/var/tem/nginx/proxy --http-fastcgi-temp-path=/var/tem/nginx/fcgi --with-http_stub_status_module

安装

make && make install

创建开机启动命令脚本文件

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:      /etc/nginx/nginx.conf
	# config:      /etc/sysconfig/nginx
	# pidfile:     /var/run/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/sbin/nginx" #对应编译安装时的sbin-path
	prog=$(basename $nginx)

	NGINX_CONF_FILE="/etc/nginx/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

保存

:wq

设置所有人都有对这个启动脚本nginx文件的执行权限

chmod a+x /etc/init.d/nginx

把nginx加入系统服务中

chkconfig --add nginx

如果出现 [emerg] mkdir() “/var/temp/nginx/client” failed (2: No such file or directory) 错误 执行

sudo mkdir -p /var/tem/nginx/client

检查nginx配置是否成功

nginx -t

启动

nginx 

重启

nginx -s reload

如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:

 sudo firewall-cmd --permanent --zone=public --add-service=http 
 sudo firewall-cmd --permanent --zone=public --add-service=https
 sudo firewall-cmd --reload

至此服务器配置完成。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值