CentOS7安装Nginx1.14.2[通俗易懂]

CentOS7安装Nginx1.14.2[通俗易懂]安装make:yum-yinstallgccautomakeautoconflibtoolmake安装g++:yuminstallgccgcc-c++安装pcre和pcre-develyuminstall-ypcrepcre-devel安装zlibzlib提供了很多压缩和解方式,nginx需要zlib对http进行gzipyuminstall-…

大家好,又见面了,我是你们的朋友全栈君。

安装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

至此服务器配置完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135311.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ONVIF协议–ONVIF协议简介

    ONVIF协议–ONVIF协议简介简单介绍了 ONVIF 相关的 Profile 功能

    2026年2月2日
    2
  • 2018年Android SDK下载安装及配置教程

    2018年Android SDK下载安装及配置教程下载并安装Android SDK官网(可翻墙选择):http://developer.android.com/sdk/index.html不可翻墙选择:http://www.androiddevtools.cn/或者360安全卫士—360软件管家—编程开发—搜索即可。(下面以第二种方法为例进行下载)1、下载AndroidSDKTools先找到SDKTools,下载最新的版本即可。选择zip的…

    2022年7月19日
    19
  • Redis主从复制实现

    Redis中的主从复制,也就是Master-Slave模型,其实现相对比较简单,一般使用在多个Redis实例间的数据同步以及Redis集群中用的比较多。• 工作原理• 特征说明• 如何配置• 验证使用

    2022年4月8日
    45
  • windows命令行查看盘符列表_命令提示符怎么切换目录

    windows命令行查看盘符列表_命令提示符怎么切换目录1、windows系统使用快捷键:WIN+R,调出运行命令窗口,并输入CMD,回车进入dos界面:如下图所示:如上图所示可以看出我我所在目录是在C盘,现在我想要切换到D盘的某一个指定目录下,如:D:\software\back\java\tools\RabbitMQ\rabbitmq_server-3.7.3步骤1如下及步骤配图:相关命令#先从C盘切换至D盘

    2022年10月15日
    2
  • shell批量新建文件

    shell批量新建文件shell批量新建文件,文件名依次为a1,a2……a100#!/bin/bashPath=/home/yifan/maying/shell/case2[-d$Path]||mkdir$Pathint=1while(($int<=100))dofilename="a"$int""touch$Path/$filenamelet"int++"do…

    2022年6月22日
    68
  • Eclipse汉化教程2021新版

    Eclipse汉化教程2021新版Eclipse汉化教程Eclipse汉化教程确定Eclipse的版本方法一:打开eclipse,在启动画面中可以看到eclipse的版本名称(我的版本是2021-6),记住这个版本的名称;方法二:在Eclipse启动后,点击菜单栏中的Help(帮助)>>AboutEclipse(关于EclipseIDE)会弹出的AboutEclipse窗口,在这里也可以找到当前Eclipse的版本名称和版本号(Photon4.8.0);下载汉化包1.到Eclipse的官网上下

    2022年6月5日
    73

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号