SuSE Linux Enterprise Server 11 源码编译安装nginx-1.14.2

本文详细介绍了在Linux环境下安装Nginx的过程,包括依赖包准备与安装、解决常见编译错误的方法、Nginx的编译安装步骤以及如何将Nginx添加到系统服务并设置开机自启动。

相关资源包下载地址:https://download.youkuaiyun.com/download/yan4413/10935558

一、依赖包准备

openssl-1.0.2q.tar.gz

pcre2-10.32.tar.gz

zlib-1.2.11.tar.gz

二、安装依赖包

将三个依赖包上传至/usr/local目录,并解压

linux-u14k:/usr/local# tar -zxvf zlib-1.2.11.tar.gz
linux-u14k:/usr/local# tar -zxvf openssl-1.0.2q.tar.gz
linux-u14k:/usr/local# tar -zxvf pcre2-10.32.tar.gz

编译安装三个依赖包

linux-u14k:/usr/local# cd zlib-1.2.11/
linux-u14k:/usr/local/zlib-1.2.11# ./configure
linux-u14k:/usr/local/zlib-1.2.11# make && make install

linux-u14k:/usr/local# cd pcre2-10.32/
linux-u14k:/usr/local/pcre2-10.32# ./configure
linux-u14k:/usr/local/pcre2-10.32# make && make install

linux-u14k:/usr/local# cd openssl-1.0.2q/
linux-u14k:/usr/local/openssl-1.0.2q# ./config
linux-u14k:/usr/local/openssl-1.0.2q# make && make install

三、编译安装nginx

获取 nginx-1.14.2.tar.gz,并上传至/usr/local/目录下

下载地址:http://nginx.org/en/download.html

解压缩并进入解压后的目录:

linux-u14k:/usr/local# tar -zxvf nginx-1.14.2.tar.gz
linux-u14k:/usr/local# cd nginx-1.14.2/

编译安装nginx

linux-u14k:/usr/local/nginx-1.14.2# ./configure --prefix=/usr/local/nginx \
> --with-pcre=/usr/local/pcre2-10.32 \
> --with-http_ssl_module \
> --with-openssl=/usr/local/openssl-1.0.2q \
> --with-zlib=/usr/local/zlib-1.2.11

linux-u14k:/usr/local/nginx-1.14.2# make && make install

编译如果遇到如下错误

In file included from src/core/ngx_core.h:71,from src/core/nginx.c:9:
src/core/ngx_regex.h:15:18: error: pcre.h: No such file or directory
In file included from src/core/ngx_core.h:71,from src/core/nginx.c:9:
src/core/ngx_regex.h:24: error: expected specifier-qualifier-list before ‘pcre’
make[1]: *** [objs/src/core/nginx.o] Error 1
make[1]: Leaving directory `/usr/local/nginx-1.14.2'
make: *** [build] Error 2

上传资源包中的pcre-devel-8.39-5.1.x86_64.rpm文件到/usr/local目录下

# 执行后根据提示,先选择2,再选择y
linux-u14k:/usr/local # zypper install pcre-devel-8.39-5.1.x86_64.rpm

再次进入/usr/localnginx-1.14.2目录,执行make && make install

若又出现如下错误

make[2]: Entering directory `/usr/local/pcre2-10.32'
make[2]: *** No rule to make target `libpcre.la'.  Stop.
make[2]: Leaving directory `/usr/local/pcre2-10.32'
make[1]: *** [/usr/local/pcre2-10.32/.libs/libpcre.a] Error 2
make[1]: Leaving directory `/usr/local/nginx-1.14.2'
make: *** [build] Error 2
# 解决方案
linux-u14k:/usr/local # cd pcre2-10.32/
linux-u14k:/usr/local/pcre2-10.32 # mkdir .libs

然后将资源包中的 libpcre.a  文件上传至/usr/local/pcre2-10.32/.libs/目录中。

再次进入/usr/localnginx-1.14.2目录,执行make && make install。

到此,nginx安装成功

四、将nginx添加到服务,并设置开机自启动


linux-u14k:/ # vi /etc/init.d/nginx

#参考内容如下
#!/bin/bash
# chkconfig:   - 85 15
NGINX=/usr/local/nginx/sbin/nginx
case "$1" in
	start)
		echo "Starting nginx..."
		$NGINX && echo "START SUCCESS"
		;;
	stop)
		echo "Stopping nginx..."
		$NGINX -s quit && echo "STOP SUCCESS"
		;;
	reload)
		echo "Reloading nginx..."
		$NGINX -s reload && echo "RELOAD SUCCESS"
		;;
	restart)
		echo "Restarting nginx..."
		$NGINX -s quit
		$NGINX && echo "RESTART SUCCESS"
		;;
	*)
		echo "Usage: service nginx {start|stop|restart|reload}"
		exit 2
		;;
esac

或者可以直接将资源包中的nginx文件上传至/etc/init.d/目录下

为nginx文件添加可执行权限

linux-u14k:~ # cd /etc/init.d
linux-u14k:/etc/init.d # chmod +x nginx

#添加开机启动
linux-u14k:/etc/init.d # chkconfig --add nginx

五、打开80端口

vi /etc/sysconfig/SuSEfirewall2

 各个端口间用空格隔开

rcSuSEfirewall2 restart

访问测试:

 服务管理

#关闭nginx
service nginx stop
#启动nginx
service nginx start
#重启nginx
service nginx restart

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值