Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2
来源:猿先生     阅读:731
九狐源码
发布于 2018-11-07 23:29
查看主页

1. 准备工作

1) gcc安装,由于nginx是c语言开发的,所以编译依赖gcc环境,命令如下

# yum install gcc-c++

假如未安装则会报如下错误:

Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2

假如已安装则略过。

2) pcre 和 pcre-devel的安装,PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 板块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,nginx也需要此库。命令如下:

# yum install -y pcre pcre-devel

假如未安装则会报如下错误:

Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2

假如已安装则略过。

3) zlib的安装,zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要安装 zlib 库。命令如下:

# yum install -y zlib zlib-devel

假如未安装则会报如下错误:

Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2

假如已安装则略过。

4) OpenSSL的安装,OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或者其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),假如需要支持https,则需要安装 OpenSSL 库。命令如下:

# yum install -y openssl openssl-devel

2. 编译安装Nginx

通过http://nginx.org/en/download.html下载nginx-1.12.2.tar.gz

Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2

将nginx-1.12.2.tar.gz上传至/root,解压并拷贝到/data目录下

# tar xzvf nginx-1.12.2.tar.gz -C /data

重命名为nginx

# mv nginx-1.12.2 nginx

配置安装路径

# ./configure --prefix=/data/nginx --conf-path=/data/nginx/nginx.conf

编译安装

# make && make install

3. 通过脚本启动和关闭nginx服务

# /data/nginx/sbin/nginx //启动

# /data/nginx/sbin/nginx -s stop //关闭

# /data/nginx/sbin/nginx -s reload //重启

# ps aux | grep nginx //查看nginx进程

4. 开放80端口

假如nginx启动后,浏览器仍无法访问,则有可能是80端口未开放

# firewall-cmd --permanent --add-port=80/tcp

# firewall-cmd --reload

浏览器显示如下页面,表示启动成功

Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2

5. 配置开机自启

创立nginx启动命令脚本

# vi /etc/init.d/nginx

插入以下内容, 注意修改PATH和NAME字段, 匹配自己的安装路径

#! /bin/bash

# chkconfig: - 85 15

PATH=/data/nginx

DESC="nginx daemon"

NAME=nginx

DAEMON=$PATH/sbin/$NAME

CONFIGFILE=$PATH/conf/$NAME.conf

PIDFILE=$PATH/logs/$NAME.pid

SCRIPTNAME=/etc/init.d/$NAME

set -e

[ -x "$DAEMON" ] || exit 0

do_start() {

$DAEMON -c $CONFIGFILE || echo -n "nginx already running"

}

do_stop() {

$DAEMON -s stop || echo -n "nginx not running"

}

do_reload() {

$DAEMON -s reload || echo -n "nginx can't reload"

}

case "$1" in

start)

echo -n "Starting $DESC: $NAME"

do_start

echo "."

;;

stop)

echo -n "Stopping $DESC: $NAME"

do_stop

echo "."

;;

reload|graceful)

echo -n "Reloading $DESC configuration..."

do_reload

echo "."

;;

restart)

echo -n "Restarting $DESC: $NAME"

do_stop

do_start

echo "."

;;

*)

echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2

exit 3

;;

esac

exit 0

设置执行权限

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

注册服务

# chkconfig --add nginx

设置开机自启

# chkconfig nginx on

可以通过以下命令对nginx进行启动、中止、重启和重新读取操作

启动nginx服务

# systemctl start nginx.service

中止nginx服务

# systemctl stop nginx.service

重启nginx服务

# systemctl restart nginx.service

重新读取nginx配置(常用, 不用中止nginx服务就能使修改的配置生效)

# systemctl reload nginx.service

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 软件环境
相关推荐
Android 窗帘(Curtain)效果三之波浪式扭曲效果优化提升
未来5年老牌编程语言C语言和Java还会火么?
WKWebView的使用、优化和封装(VDWebView)
百字看懂JS运行机制
为你Springboot项目自己设置一个通用的异常(实用干货)
首页
搜索
订单
购物车
我的