Nginx 部署线上服务器(Liunx)
2.1 安装
2.1.1 安装前的准备
Nginx的安装需要确定Linux安装相关的几个库,否则配置和编译会出现错误,具体的检查安装过程为:
-
gcc编译器是否安装
检查是否安装:
yum list installed | grep gcc
执行安装:
yum install gcc -y
-
openssl库是否安装
检查是否安装:
yum list installed | grep openssl
执行安装:
yum install openssl openssl-devel -y
-
pcre库是否安装
检查是否安装:
yum list installed | grep pcre
执行安装:
yum install pcre pcre-devel -y
-
zlib库是否安装
检查是否安装:
yum list installed | grep zlib
执行安装:
yum install zlib zlib-devel -y
-
一次性安装,执行如下命令
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 进行访问的时候,如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡要做的事情。
负载均衡通常是指将请求“均匀”分摊到集群中多个服务器节点上执行,这里的均匀是指在一个比较大的统计范围内是基本均匀的,并不是完全均匀。