Nginx 读作 engine x, 是一个免费的、开源的、高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点。

Nginx 可以作为一个独立的 Web 服务,也可以用来给 Apache 或是其他的 Web 服务做反向代理。

相比于 Apache,Nginx 可以处理更多的并发连接,而且每个连接的内存占用的非常小。

本教程将会教您如何在 Centos 7 的服务器上安装和管理 Nginx。

开始前的准备

在开始阅读此教程之前,请确保你是以拥有 sudo 权限的用户来登录的服务器,并且服务器中没有 Apache 或是其他服务正在使用 80(HTTP) 和 443(HTTPS) 端口上,防止端口被占用,造成 Nginx 无法正常启动。

在 CentOS 中安装 Nginx

请按照下面的步骤,在 CentOS 中安装 Nginx。

1、 EPEL 仓库中有 Nginx 的安装包。如果你还没有安装过 EPEL,可以通过运行下面的命令来完成安装:

sudo yum install epel-release

上面代码的意思是以 sudo 权限运行安装 epel-release,如果你当前登录的用户不是 root,则会提示你输入密码来运行,输入密码时是看不到输入的内容的,所以不用担心,继续输入就行。然后回车继续运行,后面的命令中如果包含 sudo 则都表明是刚提到的意思,不再重复解释。

2、 输入以下命令来安装 Nginx:

sudo yum install nginx

如果这是您第一次从 EPEL 仓库中安装软件,yum 可能会提示您导入 EPEL GPG key:

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package    : epel-release-7-9.noarch (@extras)
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]:

类似于上面的内容,遇到这种情况,输入 y,然后 Enter(回车) 即可继续安装。

3、 等到安装完成以后,可以通过以下命令来设置开机启动和运行 Nginx 服务:

设置 Nginx 开机启动:

sudo systemctl enable nginx

运行以上命令以后,会输出类似以下的内容,表示创建了一个软连接来关联 Nginx,不用担心,并不是报错了,下一步就可以启动 Nginx 了。

Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

启动 Nginx:

sudo systemctl start nginx

通过运行以下命令,来检查 Nginx 的运行状态:

sudo systemctl status nginx

然后会输出类型下面的内容

● nginx.service - The nginx HTTP and reverse proxy serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2018-03-12 16:12:48 UTC; 2s agoProcess: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1680 (nginx)CGroup: /system.slice/nginx.service├─1680 nginx: master process /usr/sbin/nginx└─1681 nginx: worker process

4、 如果你的服务器开启了防火墙,则需要同时打开 80(HTTP)和 443(HTTPS)端口

通过下面的命令来打开这两个端口:

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

国内的服务器厂商,安全组也可能会默认屏蔽这两个端口,比如 阿里云 和 腾讯云,如果在 第 5 步 时发现无法访问,可以自行百度一下如何放开这两个端口。

5、 验证 Nginx 是否成功启动,可以在浏览器中打开 http://YOUR_IP,您将看到默认的 Nginx 欢迎页面,类似于下图所示:

Welcome to Nginx

注:Nginx 的默认欢迎页有好几种样式,和你安装的版本有关,所以大家只用关注这个页面的大标题就行了 Welcome to nginx!

通过 systemctl 管理 Nginx

你可以像管理其他服务那样管理 Nginx。

启动 Nginx

sudo systemctl start nginx

停止 Nginx

sudo systemctl stop nginx

重启 Nginx

sudo systemctl restart nginx

修改 Nginx 配置后,重新加载

sudo systemctl reload nginx

设置开机启动 Nginx

sudo systemctl enable nginx

关闭开机启动 Nginx

sudo systemctl disable nginx

Nginx 的配置文件和最佳实践

  • 通过以上方式安装的 Nginx,所有相关的配置文件都在 /etc/nginx/ 目录中。
  • Nginx 的主配置文件是 /etc/nginx/nginx.conf
  • 为了使 Nginx 配置更易于维护,建议为每个服务(域名)创建一个单独的配置文件。
  • 每一个独立的 Nginx 服务配置文件都必须以 .conf 结尾,并存储在 /etc/nginx/conf.d 目录中。您可以根据需求,创建任意多个独立的配置文件。
  • 独立的配置文件,建议遵循以下命名约定,比如你的域名是 kaifazhinan.com,那么你的配置文件的应该是这样的 /etc/nginx/conf.d/kaifazhinan.com.conf,如果你在一个服务器中部署多个服务,当然你也可以在文件名中加上 Nginx 转发的端口号,比如 kaifazhinan.com.3000.conf,这样做看起来会更加友好。
  • 如果你的配置中有很多重复的代码,那么建议你创建一个 /etc/nginx/snippets 文件夹,在这里面存放所有会被复用的代码块,然后在各个需要用到的 Nginx 的配置文件中引用进去,这样可以更方便管理和修改。
  • Nginx 日志文件(access.logerror.log )位于 /var/log/nginx/ 目录中。建议为每个独立的服务配置不同的访问权限和错误日志文件,这样查找错误时,会更加方便快捷。
  • 你可以将要部署的代码文件,存储在任何你想的位置,但是一般推荐存放在下列位置中的其中一个:
    • /home/<user_name>/<site_name>
    • /var/www/<site_name>
    • /var/www/html/<site_name>
    • /opt/<site_name>
    • /usr/share/nginx/html

总结

首先恭喜你,你已经成功的在 CentOS 7 上安装了 Nginx 服务,你现在可以在你的服务器中通过 Nginx 部署你的服务代码啦,如果你打算在服务器中部署多个服务,你可能需要阅读这篇文章 How To Set Up Nginx Server Blocks on CentOS 7(待翻译)。

哦,对了,安全证书(HTTPS)是当今所有网站的“必备”功能。所以你可以阅读这篇文章 Secure Nginx with Let's Encrypt on CentOS 7(待翻译) 来学习如何通过 Let’s Encrypt SSL 生成免费的安全证书。

期待下次与你相见 : )

原文:开发指南:如何在 CentOS 7 上安装 Nginx

centos nginx不是命令_2019 年如何在 CentOS 7 上安装最新的 Nginx相关推荐

  1. 2019 年如何在 CentOS 7 上安装最新版 Nginx

    本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...

  2. ubuntu安装php7-mysql,ubuntu上安装php7.0+nginx+mysql

    安装Nginx sudo apt install nginx sudo service nginx start 然后在其他电脑浏览器中输入该主机的ip地址进行访问. linux下查看ip地址的命令: ...

  3. centos php 安装mysql_CentOS上安装Mysql+PHP-fpm+Nginx

    1.    安装Mysql 1.1   安装操作 双击Putty.exe 图1 登录Putty yum list | grep mysql yum install mysql-server.x86_6 ...

  4. 在centos上安装最新的glibc

    centos上的glibc的远古版本: root@:~/clickhouse/ClickHouse/build# ldd --version ldd (GNU libc) 2.17 Copyright ...

  5. mac os mysql 命令_如何在Mac OS上安装“mysql”命令?

    通常命令是: /usr/local/mysql/bin/mysql -u root -p 这将提示您输入root密码(除非您更改密码,否则可能为空) 您还可以使用: /usr/local/mysql/ ...

  6. Android用usb命令控制音量,如何在Android平台上使用USB Audio设备

    上网搜了有关USB Audio Hotplug的东西,比较适用的资源如下: 题目看起来很吻合我们的问题,事实上并没有多少参考价值.其中脚本/etc/hotplug/usb/extigy或许可以捕捉到U ...

  7. 在华为鲲鹏openEuler20.03系统上安装Redis, Zookeeper, Nginx

    背景 这里实验用的华为云鲲鹏服务器配置如下: Huawei Kunpeng 920 2.6GHz 4vCPUs | 8GB openEuler 20.03 64bit with ARM 连接机器后,先 ...

  8. 在CentOS 6.8上安装Nginx

    本文主要记录在CentOS 6.8版的Linux环境下安装Nginx的操作流程,具体步骤如下: 步骤一:到Nginx官网上下载软件,http://nginx.org/en/download.html ...

  9. 如何在 CentOS 7 上安装 Nginx

    本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...

最新文章

  1. java concurrenthashmap与阻塞队列
  2. Github 代码上边的Raw、Blame、History是啥意思?
  3. 黄海广博士的github镜像下载(机器学习及深度学习资源)
  4. java perl5compiler,Java中正则表达式使用方法详解(四)
  5. html获取子节点数量,css判断子元素个数
  6. Android动态显示和隐藏状态栏
  7. php虚拟机java虚拟机,Java虚拟机的具体详解
  8. 前缀和(树状数组)构造桶数组的用法
  9. 计算机教室网络同传及保护,方正网络同传软件安装及后期使用全解.ppt
  10. 传奇hero引擎版本服务端转换GEE引教程教学篇
  11. 网络迷踪常用网站工具汇总(采集意见版)——炒饭论坛
  12. C#——检测鼠标滑轮事件
  13. 做PPT设计半年赚8万,我是怎样做到的?
  14. python endswith函数_python endswith和startwith
  15. 6. 利用word的替换功能可以完成很多工作——word高级替换技巧
  16. c语言:求正方体的表面积和体积
  17. QT数据库访问技术简介
  18. 【渝粤教育】国家开放大学2019年春季 1192高层建筑施工 参考试题
  19. 错误: 模块未指定(FileNotFoundException)
  20. centos6 安装bbr_centos6 安装 BBR加速教程

热门文章

  1. 互联网日报 | 3月10日 星期三 | 快手电商与五菱汽车达成合作;华为推出“女性开发者计划”;小鹏汽车首次实现全年毛利转正...
  2. 怎么查看电脑的S/N序列号
  3. ransac算法_增强现实(AR)算法第四讲
  4. 设计灵感|惊艳!酷炫十足!3D平面版式设计案例
  5. 【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
  6. 平安夜来点不一样创意礼物,如何巧用二维码生成器表白?
  7. 6 灰色系统 - 关联度分析法 - 优势分析 -关联矩阵 例子
  8. JavaScript基础--BOM部分01--李南江
  9. 前有雅迪,后有九号,小牛电动的“智能”故事能动听多久?
  10. 一个关于考勤统计的sql研究