玩转Nginx_v0.0.1_持续更新。。。

CENTOS 6.8环境

# 查询版本号
cat /etc/issue
# 或者
cat /etc/redhat-release

版本号如下
在这里插入图片描述

安装

# 安装前置软件
sudo yum install yum-utils

在这里插入图片描述
设置yum仓库,创建文件/etc/yum.repos.d/nginx.repo内容如下:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
vim /etc/yum.repos.d/nginx.repo

在这里插入图片描述
默认使用最稳定的Nginx版本,如果你更想要一个传统的,请执行下述命令

sudo yum-config-manager --enable nginx-mainline

在这里插入图片描述
repo配置少一个[号。加上后再次执行成功。
在这里插入图片描述
接下来进入正题,开始安装:

sudo yum install nginx

很遗憾,报错了:
在这里插入图片描述
因为文件第一行少个[符号,继续安装,仍然报错,库里没有nginx:
在这里插入图片描述
解决办法1:很遗憾,是错的

# 备份
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back-up_201907291715
# 重新下载
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache
yum install epel-release
yum install nginx

解决办法2:很遗憾,不对症,错误并不是因缺少epel包导致

# 下载epel包
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# 检查epel包是存在的
rpm -q epel-release

epel包存在如下
在这里插入图片描述
这就费解了。
再次解决:
执行yum list | grep nginx,发现没有Nginx_x86包
在这里插入图片描述
疑似下载URI问题,然而修改nginx.repo的baseurl也不行。
Nginx_x86包不存在!可能犯了什么低级错误,要么什么配置乱掉了!待续,话分两头,我们看看另一种安装方式。

换一个思维,下载安装式

在官网下载nginx-1.16.0.tar.gz,亦可以wget下载。tar xvzf xx.gz -C 目录解压。

# 在解压后的根目录执行
./configure --prefix=/usr/local/nginx
make && make install
# 软连接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
# 检验
nginx -V # 大写
cd /usr/local/nginx/
sbin/nginx # 启动
netstat -tlnp|grep nginx # 检查

在这里插入图片描述

# 配置文件
vim /usr/local/nginx/conf/nginx.conf
# 本地访问
wget 127.0.0.1:80

浏览配置
在这里插入图片描述
本地访问成功
在这里插入图片描述
在这里插入图片描述

服务式启动-开机自启-待续

简单使用

修改监听端口号

当前监听80
在这里插入图片描述
修改为9528,重载

cd nginx根目录
sudo sbin/nginx -s reload
sudo sbin/nginx # 启动
sudo sbin/nginx -s stop # 停止

在这里插入图片描述
在这里插入图片描述
待续。。。

增加新模块

编译

新增nginx-rtmp插件

cd /data/app/nginx/extends
git clone https://github.com/arut/nginx-rtmp-module # 下载插件
cd /data/app/nginx/nginx-1.16.0 # 源码目录
# 备份nginx
/usr/local/nginx/sbin/nginx -V # 查看之前编译的参数,将原参数填入下方命令
sh configure --prefix=/usr/local/nginx --add-module=/data/app/nginx/extends/nginx-rtmp-module # 预设参数,/usr/local/nginx是原nginx根目录

之前编译的参数↓
在这里插入图片描述
configure时,若出现checking for C compiler … found,但下述方法没能解决not found

# pcre
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz # 下载
cd 解压好的目录
sh configure
make && make install
# ssl
yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

PCRE等安装中↓
在这里插入图片描述
如果执行configure命令时报checking for gcc... no就安装gcc=>yum install -y gcc gcc-c++
config↓
在这里插入图片描述
pcre make
在这里插入图片描述
Nginx插件参数配置完毕后,执行make,不要加install,那是覆盖
在这里插入图片描述
源码下多出objs目录↓
在这里插入图片描述
将objs里的 nginx文件替换原nginx文件,先备份原文件.

sbin/nginx -t # 检测一下新文件

在这里插入图片描述
OK.重启nginx
当从CENTOS6迁移到7时,如果启动报错:找不到pcrelib.so.0,就拷贝该文件和pcrelib.so.0.0.1到/lib64.用这个命令查看少哪些包 => ldd $(which /usr/local/nginx/sbin/nginx)
PS:重新编译的时候,记得一定要把以前编译过的模块一同加到configure参数里.

非http配置

rtmp服务器配置

语法参考:https://www.cnblogs.com/lidabo/p/7099501.html

发布了49 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/cc007cc009/article/details/97654064