nginx的安装与配置

简介

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

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

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

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

准备

拥有 sudo 权限的用户登录服务器,并且服务器中没有 Apache 或是其他服务正在使用

80(HTTP) 和 443(HTTPS) 端口上,防止端口被占用,造成 Nginx 无法正常启动。

在Centos中安装Nginx

  • 在EPEL仓库中有Nginx的安装包。如果没有安装过EPEL,可以通过下面的命令来完成安装

sudo yum install epel-release

以管理员的权限来安装epel-release

  • 输入下面的命令来安装Ngix:

sudo yum install nginx

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

  • 安装完成后,通过以下命令设置开机自启和运行Nginx服务:

    • 设置开机自启

      systemctl enable nginx

      运行命令后,会返回以下内容,表示创建了一个软连接来关联Nginx。

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

    • 启动nginx:

      systemctl start nginx

    • 检查nginx的运行状态:

      systemctl status nginx

      输出以下结果:

      ● nginx.service - The nginx HTTP and reverse proxy server
         Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
         Active: active (running) since Fri 2020-07-24 09:00:59 CST; 2min 30s ago
        Process: 3702 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
        Process: 3698 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
        Process: 3697 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
       Main PID: 3704 (nginx)
         CGroup: /system.slice/nginx.service
                 ├─3704 nginx: master process /usr/sbin/nginx
                 └─3706 nginx: worker process
      
      Jul 24 09:00:59 iz2zeggjr0d8kt5ik151rdz systemd[1]: Starting The nginx HTTP and reve....
      Jul 24 09:00:59 iz2zeggjr0d8kt5ik151rdz nginx[3698]: nginx: the configuration file /...k
      Jul 24 09:00:59 iz2zeggjr0d8kt5ik151rdz nginx[3698]: nginx: configuration file /etc/...l
      Jul 24 09:00:59 iz2zeggjr0d8kt5ik151rdz systemd[1]: Failed to parse PID from file /r...t
      Jul 24 09:00:59 iz2zeggjr0d8kt5ik151rdz systemd[1]: Started The nginx HTTP and rever....
      Hint: Some lines were ellipsized, use -l to show in full.
      
  • 如果服务器开启了防火墙,需要同时打开80(HTTP)和443(HTTPS)端口

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

      firewall-cmd --permanent --zone=pulic --add-service=http
      firewall-cmd --permanent --zone=pulic --add-service=https
      firewall-cmd --reload
      
  • systemctl管理Nginx

    • 启动Nginx
      • systemctl start nginx
    • 停止Nginx
      • systemctl stop ngnix
    • 重启Nginx
      • systemctl restart nginx
    • 修改Nginx配置,重新加载
      • systemctl reload nginx
    • 设置开机启动Nginx
      • systemctl enable nginx
    • 关闭开机启动Nginx
      • systemctl disable nginx

Nginx的配置文件和最佳实践

  • 通过以上方式安装的nginx,所有相关的配置文件都在/etc/nginx目录中

  • Nginx的主配置文件是/etc/nginx/nginx.conf

  • 为了便于维护,建议为每个服务(域名)创建一个单独的配置文件

  • 每一个独立的Nignx配置服务必须以.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.log 和 error.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
  • 配置Nginx

    • 编辑nginx.conf文件

      vim nginx.conf

      # 增加 upstream, 名称为 serverlist
       upstream serverlist{
       server 60.205.211.230:8080 weight=1; # weigh表示权重,越⼤访问的机率越多
       server 60.205.211.230:8081 weight=1;
       }
       
         location / {
                      proxy_pass http://serverlist;
              }
      
       
       
      
      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heromps

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值