相关资源包下载地址: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

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

被折叠的 条评论
为什么被折叠?



