Nginx 部署线上服务器(Liunx)

2020-09-27  本文已影响0人  刘_小_二

2.1 安装

2.1.1 安装前的准备

Nginx的安装需要确定Linux安装相关的几个库,否则配置和编译会出现错误,具体的检查安装过程为:

  1. gcc编译器是否安装

    检查是否安装:

    yum list installed | grep gcc
    

    执行安装:

    yum install gcc -y
    
  2. openssl库是否安装

    检查是否安装:

    yum list installed | grep openssl
    

    执行安装:

    yum install openssl openssl-devel -y
    
  3. pcre库是否安装

    检查是否安装:

    yum list installed | grep pcre
    

    执行安装:

    yum install pcre pcre-devel -y
    
  4. zlib库是否安装

    检查是否安装:

    yum list installed | grep zlib
    

    执行安装:

    yum install zlib zlib-devel -y
    
  1. 一次性安装,执行如下命令
    yum install gcc openssl openssl-devel pcre pcre-devdl zlib zlib-devel -y 
    

2.1.2 正式安装

解压下载下来的nginx文件,执行命令:tar -zxvf nginx-1.14.2.tar.gz

切换至解压后的nginx主目录,执行命令:cd nginx-1.14.2

在nginx主目录nginx-1.14.2下执行命令:./configure --prefix=/usr/loacl/nginx

(其中--prefix是指定nginx安装路径)注意:等号左右不要有空格

执行命令进行编译:make

执行命令进行安装:make install

安装成后,可以切换到/usr/local/nginx目录下,查看内容

查看:ll

nginx 包括文件内容:conf(nginx的配置文件)、 html(网页地址)、logs(日志记录)、sbin(nginx启动文件);

2.2 启动

2.2.1 普通启动

切换到nginx安装目录的sbin目录下,执行: ./nginx

第一步:cd sbin/

第二步:pwd

第三步:./nginx

查看启动进程:ps -ef | grep nginx

进程包含:master process 和 worker process

2.2.2 通过配置文件启动

./nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

其中-c是指定配置文件,而且配置文件路径必须指定绝对路径

2.2.3 检查Nginx是否启动

通过查看进程:ps -ef | grep nginx

nginx 体系结构由 master 进程和其 worker 组成

master 进程读取配置文件,并维护 worker 进程,而 worker 进程则对请求进行实际处理

Nginx启动后,安装目录下会出现一些 tmp 结尾的文件,这些事临时文件,不用管。

2.3 关闭

2.3.1 优雅关闭Nginx

找出nginx的进程号:ps -ef | grep nginx

执行命令:kill -QUIT 主Pid

注意:1.其中pid是主进程号的pid(master process),其他为子进程pid(worker process)

​ 2.这种关闭方式会处理完请求后在关闭,所以称之为优雅的关闭

2.3.2 快速关闭Nginx

找出nginx的进程号:ps -ef | grep nginx

执行命令:kill -TERM 主pid

> 注意:1.其中pid是主进程号的pid(master process),其他为子进程(worker process)
>
> ​        2.这种关闭方式不管请求是否处理完成,直接关闭,比较暴力,称之为快速的关闭

2.3.3 重启Nginx

./nginx -s reload

2.4 配置检查

​ 当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t

2.5 其它

Linux 上查看nginx版本:/usr/local/nginx/sbin/nginx -V

-v (小写的v)显示nginx的版本

-V(大写的V)显示nginx的版本,编译器版本和配置参数

3.1 Nginx的核心配置文件

学习Nginx首先需要对它的核心配置文件有一定的认识,这个文件位于Nginx的安装目录/usr/local/nginx/conf目录下,名字为nginx.conf.

详细配置,可以参考resources目录下的《nginx配置中文详解.conf》

3.1.1 基本配置

配置worker进程运行用户 nobody 也是一个linux用户,一般用于启动程序,没有密码

user nobody;

配置工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU数量 worker_processes 1;

配置全局错误日志及类型,[ debug|info|notice|warn|error |crit ],默认是error error_log logs/error.log;

error_log logs/error.log notice;

error_log logs/error.log info;

pid logs/nginx.pid #配置进程pid文件

3.1.2 events 配置

>配置工作模式和链接书
>
>```
>events {
>   worker_connections  1024; #配置每一个worker进程连接数上限,nginx支持的总连接数就等于 worker_processes * worker_connections,取值上限:65535。
>}
>```

3.2 Nginx主要应用

4.静态网站部署

Nginx是一个HTTP的web服务器,可以将服务器上的静态文件(如HTML、图片等)通过HTTP协议返回给浏览器客户端.

 location / {
            root   html;
            index  index.html index.htm;
        }
        
  location /ace {
            root   /opt/www;  
            index  index.html index.htm;
        }

root值指项目根路径 等于(ip+端口),“/” = “/opt/www”;“/ace” =“/opt/www/ace”

5.负载均衡

5.1 负载均衡概述

​ 在网上创立初期,我们一般都使用单台机器对外提供集中式服务。随着业务量的增大,我们一台服务器不够用,此时就会把多台机器组成一个集群对外提供服务,但是,我们网站对外提供的访问入口通常只有一个,比如:www.web.com。 那么当用户在浏览器输入www.web.com 进行访问的时候,如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡要做的事情。

​ 负载均衡通常是指将请求“均匀”分摊到集群中多个服务器节点上执行,这里的均匀是指在一个比较大的统计范围内是基本均匀的,并不是完全均匀。

5.2 负载均衡实现方式

上一篇下一篇

猜你喜欢

热点阅读