CentOS 7 安装 Nginx

前言

最近,在公司经常会进行项目的部署,但是服务器环境都是导师已经搭建好了的,我就是将项目文件放到特定目录。于是,周末在家就进行了 Nginx 的安装学习。之前,在 Windows 上使用过 Nginx,但是在 Linux 环境下 Ngnix 的安装和在 Windows 环境下安装是有一定区别的。这次进行在 Linux 环境下使用源码包的方式安装 Nginx 遇到了不少的问题,但查阅了一些资料也解决了。希望以下的笔记能帮助你们避开这些问题。

Linux 的两种安装方式

首先,介绍一下 Linux 的安装方式,可以是 yum 安装,也可以是源码包安装。

  • yum 安装:简单方便,不易出错。
  • 源码包安装:有点繁琐,但是服务性能好。

yum 安装

1. 安装 Nginx

yum 安装 nginx 非常简单,就输入一条命令即可。

$ sudo yum -y install nginx   # 安装 nginx
$ sudo yum remove nginx  # 卸载 nginx

使用 yum 进行 Nginx 安装时,Nginx 配置文件在 /etc/nginx 目录下。

2. 配置 Nginx 服务

$ sudo systemctl enable nginx # 设置开机启动 
$ sudo service nginx start # 启动 nginx 服务
$ sudo service nginx stop # 停止 nginx 服务
$ sudo service nginx restart # 重启 nginx 服务
$ sudo service nginx reload # 重新加载配置,一般是在修改过 nginx 配置文件时使用。

源码包安装

Nginx 源码包安装方式步骤比较繁琐,并且需要提前安装一些 Nginx 依赖库。

依赖库安装

1. 安装 gcc 环境
$ sudo yum -y install gcc gcc-c++ # nginx 编译时依赖 gcc 环境
2. 安装 pcre
$ sudo yum -y install pcre pcre-devel # 让 nginx 支持重写功能
3. 安装 zlib
# zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
$ sudo yum -y install zlib zlib-devel 
4. 安装 openssl
# 安全套接字层密码库,用于通信加密
$ sudo yum -y install openssl openssl-devel

以上安装完成后,进行 nginx 安装。

nginx 源码包安装

将准备好的 nginx-1.11.5.tar.gz 包,拷贝至 /usr/local/nginx 目录下(一般习惯在此目录下进行安装)进行解压缩。

源码包下载地址:https://nginx.org/en/download.html

$ sudo tar -zxvf  nginx-1.11.5.tar.gz # 解压缩

在完成解压缩后,进入 nginx-1.11.5 目录进行源码编译安装。

$  cd nginx-1.11.5
$ ./configure --prefix=/usr/local/nginx # 检查平台安装环境
  # --prefix=/usr/local/nginx  是 nginx 编译安装的目录(推荐),安装完后会在此目录下生成相关文件

如果前面的依赖库都安装成功后,执行 ./configure --prefix=/usr/local/nginx 命令会显示一些环境信息。如果出现错误,一般是依赖库没有安装完成,可按照错误提示信息进行所缺的依赖库安装。

进行源码编译并安装 nginx

$ make # 编译
$ make install # 安装

源码包安装与 yum 安装的 nginx 服务操作命令也不同。

  • 启动服务
$ /usr/local/nginx/sbin/nginx
  • 重新加载服务
$ /usr/local/nginx/sbin/nginx -s reload
  • 停止服务
$ /usr/local/nginx/sbin/nginx -s stop

查看 nginx 服务进程

$ ps -ef | grep nginx # 查看服务进程
### CentOS 7 安装 Nginx 的教程 #### 准备工作 在开始之前,确保服务器已准备好并更新到最新状态。可以通过以下命令完成系统的升级: ```bash sudo yum update -y ``` #### 安装必要的依赖项 为了成功编译和安装 Nginx,需要先安装一些必需的开发工具和库。如果缺少这些组件,在配置阶段可能会遇到错误[^4]。因此,需执行以下命令来安装所需的软件包: ```bash sudo yum -y install gcc make zlib-devel gcc-c++ libtool openssl openssl-devel ``` #### 下载 Nginx 源码 访问[Nginx官方网站](http://nginx.org/en/download.html),下载最新的稳定版本源码文件。或者通过 `wget` 命令直接获取: ```bash wget http://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 ``` 这里假设我们使用的是 Nginx 1.24.0 版本[^5]。 #### 配置与编译 进入解压后的目录后,运行如下命令进行配置、编译以及安装操作: ```bash ./configure --prefix=/usr/local/nginx make && make install ``` 上述过程会将 Nginx 安装至 `/usr/local/nginx/` 路径下。如果有特殊需求(例如启用模块支持),可以在 `./configure` 中加入额外参数。 #### 启动服务 安装完成后,启动 Nginx 并验证其正常运行情况: ```bash /usr/local/nginx/sbin/nginx curl localhost ``` 如果返回默认欢迎页面,则说明安装成功。 #### 设置开机自启和服务管理 为了让 Nginx 支持 systemctl 控制方式,创建一个新的 service 文件: ```bash cat <<EOF | sudo tee /lib/systemd/system/nginx.service [Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target EOF ``` 接着重新加载 systemd 配置,并尝试控制 Nginx: ```bash sudo systemctl daemon-reload sudo systemctl start nginx sudo systemctl enable nginx ``` #### 测试防火墙规则 最后确认端口开放状况,允许外部访问 Web 站点: ```bash sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --reload ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值