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

作者 : 开心源码 本文共2212个字,预计阅读时间需要6分钟 发布时间: 2022-05-12 共162人阅读

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

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2

发表回复