• CentOS 7学习笔记(二)之Nginx安装


    说明:

    1、这篇学习记录的目的是如何在CentOS 7上面安装Nginx,包括两种安装方式,yum源安装和源代码编译安装;

    2、CentOS 7初学者,某些观点带有猜测之意,文中不足之处,还请批评指正,定会虚心受教。

    第一部分 yum源安装

      yum源安装相对比较容易,不必处理复杂的依赖关系。初次安装,我就先采用yum安装方式。根据nginx的wiki上面的安装介绍。

    第一步 添加yum源

      为了获得最新版的nginx,nginx安装说明建议直接从nginx官网下载,需要新建一个源。新建文件 /etc/yum.repos.d/nginx.repo,内容如下:

    [nginx]                                                  //源名称,会被yum识别
    name= nginx repo                                         //文件功能说明,只是便于理解这个文件的作用
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ //地址,非常重要,其中7(针对7.x)是版本,x86_64是CPU基本体系
    gpgcheck=0 //gpg校验,0代表不校验,1代表校验
    enabled=1 //启用,0代表不启用,1代表启用

      其中baseurl中的$releasever、$basearch是取得系统中的版本、CPU基本体系,这两个变量使用在yum文件中,具体的变量定义可以查找资料。

      当编辑好文件后,执行命令,如下:

    [test@localhost etc]$ yum repolist
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror.bit.edu.cn
     * extras: mirror.bit.edu.cn
     * updates: mirrors.btte.net
    源标识                              源名称                                 状态
    base/7/x86_64                       CentOS-7 - Base                        8,465
    extras/7/x86_64                     CentOS-7 - Extras                        104
    nginx/7/x86_64                      nginx repo                                13                   //说明新加的源生效
    updates/7/x86_64                    CentOS-7 - Updates                     1,605 
    repolist: 10,187

       当系统中配置了很多源,并且会有相同的软件,我们就需要指定源安装,如下:

    [test@localhost etc]$ sudo yum install nginx --enablerepo=nginx
    [sudo] password for test:
    ....
    
    
    ================================================================================
     Package        架构            版本                                     大小
    ================================================================================
    正在安装:
     nginx          x86_64          1:1.6.2-1.el7.ngx          nginx          353 k
    
    事务概要
    ================================================================================
    安装  1 软件包
    
    总下载量:353 k
    安装大小:845 k
    Is this ok [y/d/N]: y
    ......
      正在安装    : 1:nginx-1.6.2-1.el7.ngx.x86_64                              1/1
    ----------------------------------------------------------------------.....
    
    ----------------------------------------------------------------------
      验证中      : 1:nginx-1.6.2-1.el7.ngx.x86_64                              1/1
    
    已安装:
      nginx.x86_64 1:1.6.2-1.el7.ngx
    
    完毕!

     查看nginx默认配置文件 /etc/nginx/conf.d/default.conf,内容如下:

    server {
        listen       80;                                //监听端口80
        server_name  localhost;               //服务器名称
    
        #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;                //网站根目录位置
            index  index.html index.htm;          //网站首页默认页面名称
        }
    ......

    查看nginx服务状态,如下:

    [test@localhost /]$ sudo systemctl status nginx.service
    nginx.service - nginx - high performance web server
       Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled)
       Active: inactive (dead)      //服务未开启

    开启nginx服务,如下:

     sudo systemctl start nginx.service
    //再次查看状态,如下

    nginx.service - nginx - high performance web server
    Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled)
    Active: active (running) since 二 2015-01-27 22:53:46 CST; 44s ago                 //服务已开启
    ......

    当我们用另外一台PC访问该服务器时,却发现,无法打开,是因为默认情况下防火墙开启,禁止访问80端口(此时,我们联想到之前SSH,端口22,防火墙默认放行)。我们需要添加防火墙规则。同时,我们也可以先关闭防火墙,测试是否配置正确。

    备注:听说之前的防火墙牌子是iptables,CentOS 7 默认是firewall,服务名称是firewalld。

    添加防火墙规则如下:

    sudo firewall-cmd --add-port=80/tcp          //http协议基于TCP传输协议,放行80端口

    此时我们可以使用命令,来查看firewalld开放端口情况,前后比较如下:

    之前:
    [test@localhost /]$ sudo firewall-cmd --list-all public (default) interfaces: sources: services: dhcpv6-client ssh //这是默认放行的 ports: //这里是空的 ...... 之后:
    [test@localhost
    /]$ sudo firewall-cmd --list-all public (default) interfaces: sources: services: dhcpv6-client ssh ports: 80/tcp //这是我们添加规则后的效果 ........

    当我们的浏览器输入服务器地址后,看到Nginx的欢迎页面,证明安装成功!下面是成功返回的页面:

  • 相关阅读:
    Gin-Go学习笔记六:Gin-Web框架 Api的编写
    Gin-Go学习笔记五:Gin-Web框架 文件的操作
    Gin-Go学习笔记四:Gin-Web框架 文件的上传下载
    Gin-Go学习笔记三:Gin-Web框架 JS分页
    Gin-Go学习笔记二:Gin-Web框架
    Gin-Go学习笔记一:Hello World
    质因数分解
    素数算法
    linux-cento os学习笔记1
    python运行代码出现'ascii' codec can't decode byte 0xb4 in position 11: ordinal not in range(128)
  • 原文地址:https://www.cnblogs.com/zutbaz/p/4252907.html
Copyright © 2020-2023  润新知