CentOS7 yum及源码安装nginx

本文详细介绍了在CentOS 7.4环境下,通过YUM安装和源码编译两种方式安装Nginx的过程,包括所需环境的搭建如GCC、PCRE、zlib和OpenSSL的安装,以及如何配置Nginx开机启动和常用命令的使用。

nginx version:nginx-1.14.0

CentOS version:7.4

一,安装所需环境

1,gcc安装

nginx是C语言开发,安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。

yum install gcc-c++

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

3,zlib安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

4,OpenSSL

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

yum install -y openssl openssl-devel

二,yum安装nginx

这种方式安装,后期如果要进行功能模块扩展,还需要下载当前所安装的nginx的源码,添加所需模块,进行编译安装

添加CentOS 7 EPEL仓库

yum install epel-release

安装nginx

yum install nginx

启动nginx

systemctl start nginx

如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

设置开机启动

systemctl enable nginx

 

三,源码编译安装

直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html,我们选择的版本是:nginx-1.14.0

wget -c https://nginx.org/download/nginx-1.14.0.tar.gz

如果没有wget命令,则安装

yum -y install wget

解压并进入nginx根目录

tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

新建nginx用户和组

groupadd nginx
useradd -g nginx -d /home/nginx nginx
passwd nginx

1,默认安装

./configure

默认方式安装后的配置显示

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

2,自定义安装

./configure \
--user=nginx --group=nginx \          #安装的用户组
--prefix=/usr/local/nginx \           #指定安装路径
--with-http_stub_status_module \         #监控nginx状态,需在nginx.conf配置
--with-http_ssl_module \             #支持HTTPS
--with-http_sub_module \             #支持URL重定向
--with-http_gzip_static_module          #静态压缩
--add-module=/root/nginx-sticky-1.2.5           #安装sticky模块

两种方式安装后都需要编译

make && make install

启动、停止nginx

cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

设置开机启动

vi /etc/rc.local

增加一行

/usr/local/nginx/sbin/nginx

设置执行权限

chmod 755 rc.local

配置全局生效

cd /usr/local/nginx/sbin/
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

也可以配置到环境变量/etc/profile文件中,永久生效

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

使其生效

source /etc/profile

至此nginx安装完成

四,nginx一些常用命令

nginx安装路径

whereis nginx

nginx进程

ps aux|grep nginx
或
ps -ef|grep nginx

查看版本

nginx  -v

查看安装模块

nginx -V

测试配置文件nginx.conf正确性

nginx  -t

 

参考:

http://blog.51cto.com/3241766/2094315

https://www.cnblogs.com/kaid/p/7640723.html

<think>我们正在使用CentOS7系统,并且希望使用yum包管理器安装Nginx。根据引用[1]和引用[4]的内容,我们可以按照以下步骤操作:1.由于默认的CentOS仓库中可能没有最新版的Nginx,我们可以先添加Nginx的官方仓库。2.然后使用yum命令安装Nginx。但是,引用[1]提到需要先安装Nginx仓库,然后使用yum安装。引用[4]的教程也提到了类似步骤。具体步骤:步骤1:添加Nginx官方仓库创建文件`/etc/yum.repos.d/nginx.repo`,并写入以下内容(参考引用[1]和引用[3]的格式,但注意引用[3]是Kubernetes的仓库,这里我们需要Nginx的):我们可以从Nginx官方获取CentOS7的仓库配置。通常,Nginx官方仓库的配置如下: [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0enabled=1注意:这里我们暂时禁用gpgcheck(设置为0),以避免GPG密钥验证问题。如果需要启用GPG验证,可以设置为1并导入GPG密钥(步骤略)。步骤2:安装Nginx运行命令:`sudo yum installnginx`但是,引用[1]中的命令是:`sudoyuminstall nginx`,这基于已经添加了正确的仓库。另外,引用[4]的教程中可能还包含启动Nginx和设置开机自启的步骤。因此,完整的步骤应该是:1.创建并配置Nginx仓库文件:```bashsudo vi/etc/yum.repos.d/nginx.repo```写入以下内容:```ini[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1```2.安装Nginx:```bashsudo yum installnginx-y```3.启动Nginx服务并设置开机自启:```bashsudo systemctl startnginxsudo systemctl enablenginx```4.验证安装:```bashsystemctl statusnginx```另外,如果需要开放防火墙(如果系统防火墙开启的话):```bashsudofirewall-cmd --permanent--zone=public--add-service=httpsudo firewall-cmd--permanent --zone=public --add-service=httpssudofirewall-cmd --reload```注意:引用[2]提供了从源码安装的方法,但我们这里要求用yum安装,所以不采用。引用[5]是关于MySQL安装的,与Nginx安装无关,可忽略。因此,我们按照上述步骤进行即可。注意:由于网络原因,如果无法访问Nginx的官方仓库,可能需要使用其他镜像或者通过其他方式安装。但这里我们按照官方推荐的方式。最后,生成相关问题。</think>### 在CentOS 7上使用yum安装Nginx的步骤 #### 1. **添加Nginx官方仓库** 由于CentOS 7默认仓库不包含最新版Nginx,需先添加官方仓库: ```bash sudo vi /etc/yum.repos.d/nginx.repo ``` 写入以下内容: ```ini [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 ``` > 此处禁用GPG检查(`gpgcheck=0`)可简化安装,若需安全验证可改为`gpgcheck=1`并导入密钥[^1][^4]。 #### 2. **安装Nginx** 更新仓库缓存并安装: ```bash sudo yum update sudo yum install nginx -y ``` 安装过程将自动解决依赖关系,输出类似: ``` Installed: nginx.x86_64 1:1.20.1-1.el7.ngx Complete! ``` #### 3. **启动并设置开机自启** ```bash sudo systemctl start nginx # 启动服务 sudo systemctl enable nginx # 开机自启 sudo systemctl status nginx # 验证状态 ``` 正常状态应显示:`Active: active (running)` #### 4. **配置防火墙** 允许HTTP/HTTPS流量: ```bash sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload ``` #### 5. **验证安装** 访问服务器IP应看到Nginx欢迎页: ```bash curl -I 127.0.0.1 ``` 输出包含: ``` HTTP/1.1 200 OK Server: nginx/1.20.1 ``` ### 关键说明 - **版本选择**:通过仓库安装的默认为稳定版,如需特定版本(如1.20.1),可修改`baseurl`中的路径[^2]。 - **权限问题**:若遇到`403 Forbidden`,检查SELinux状态:`sudo setenforce 0`(临时禁用)。 - **配置文件路径**:主配置文件位于`/etc/nginx/nginx.conf`,站点配置在`/etc/nginx/conf.d/`。 > 此方法相比源码编译(引用[2])更快捷,自动处理依赖项和系统集成[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值