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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • datagripMac版激活码_通用破解码

    datagripMac版激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    104
  • JS数组的排序和反转

    JS数组的排序和反转JS数组的排序和反转vararr1=[43,12,21

    2022年5月4日
    40
  • linux smb访问windows(windows smb共享 设置)

    【SMB】windows配置访问smb服务器windows如何访问SMB服务器,大致有以下几种方法,建议采用第三种方式:使用windows系统自带的smb客户端进行访问通过windows自带的smb客户端进行访问的方式不可取,在勒索病毒事件后,445端口被禁用了,而windowssmb客户端默认访问445端口,因此使用该方法必然不可行使用代理的方式进行访问(不建议使用)Samba:基于公网IP的服务访问采用以上方式配置代理进行访问SMB服务器,成功

    2022年4月13日
    74
  • android游戏引擎andengine学习系列三:绘制游戏虚拟摇杆

    android游戏引擎andengine学习系列三:绘制游戏虚拟摇杆如何高效的学习,这才是我们最值得去学习的。  andengine中绘制虚拟游戏摇杆非常简单,只需要实现AnalogOnScreenControl模拟摇杆类,在设置一些属性即可。先看效果图:左边的摇杆是控制精灵上下左右移动,右边的摇杆空值精灵的旋转。代码结构跟andengine学习系列二一样,其中很多注释在系列二中有说明,在该章内便不多复述。onLoadEngine()方法:

    2022年9月16日
    0
  • axios上传文件以及遇到的问题

    axios上传文件以及遇到的问题axios上传文件以及遇到的问题1,这里上传文件使用的是elementUI的上传,也用原生的input上传写了,但是没有时间做多文件上传,下面会把代码贴出。2,这里上传文件我是先获取OSS权限和上传路径,然后再上传。但是权限获取成功后,上传到阿里云服务器时,OPTION请求报403。原因是项目中axios设置了拦截器,添加了config配置,但是在axios发送OPTION测试接口是否有权限访…

    2022年6月17日
    329
  • 完整软件研发流程「建议收藏」

    完整软件研发流程「建议收藏」软件产品开发流程:下图所示的是一个软件产品开发大体上所需要经历的全部流程:1、启动在项目启动阶段,主要确定项目的目标及其可行性。我们需要对项目的背景、干系人、解决的问题等等进行了解。并编制项目章程和组建项目团队,包括:产品经理、架构工程师、UI工程师、开发工程师、测试工程师等。完成以上准备工作之后,召开项目启动会,启动会结束则进入下一步的工作。2、规划…

    2022年6月16日
    26

发表回复

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

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