nginx安装以及入门

参考笔记:

CentOS 7 下 yum 安装和配置 Nginx

Nginx 入门指南

nginx如何安装

yum安装nginx

1.首先查看 Linux distribution 的版本号

1
cat /etc/redhat-release 

我的系统发版本是:

1
CentOS Linux release 7.5.1804 (Core)

2.Nginx 不在默认的 yum 源中,首先将Nginx加入到 yum 源里

1
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

显示如下字样代表没有问题:

1
2
3
4
5
获取http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
警告:/var/tmp/rpm-tmp.a7nthc: 头V4 RSA/SHA1 Signature, 密钥 ID 7bd9bf62: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:nginx-release-centos-7-0.el7.ngx ################################# [100%]

3.然后执行 yum repolist 查看一下,发现 Nginx 已经安装到本机了

1
yum repolist

4.安装nginx(慢慢等待,需要一段时间)

1
yum install nginx

安装成功以后:

1
2
3
4
5
#安装成功以后
已安装:
nginx.x86_64 1:1.18.0-1.el7.ngx

完毕!

nginx简单配置

1.查看 Nginx 版本

1
nginx -v

2.启动 Nginx 服务

1
systemctl start nginx

3.访问 Nginx 服务(本地访问一下,可以看到 Welcome to nginx)

1
curl -i localhost

4.远程通过公网IP访问( ip:80 )

nginx

nginx源码包安装

下载地址

下载好之后,拷贝到/usr/local/nginx下

  • 依赖库安装

    • 1.安装 gcc 环境—nginx 编译时依赖 gcc 环境
    1
    yum -y install gcc gcc-c++
    • 2.安装 pcre—让 nginx 支持重写功能
    1
    yum -y install pcre pcre-devel
    • 3.安装 zlib—zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
    1
    yum -y install zlib zlib-devel
    • 4.安装 openssl—安全套接字层密码库,用于通信加密
    1
    yum -y install openssl openssl-devel
  • 解压缩

1
tar -zxvf  nginx-1.18.0.tar.gz
  • 进入nginx-1.18.0目录下面进行源码编译安装

    检查平台安装环境: --prefix=/usr/local/nginx 是 nginx 编译安装的目录(推荐),安装完后会在此目录下生成相关文件
    如果前面的依赖库都安装成功后,执行 ./configure --prefix=/usr/local/nginx命令会显示一些环境信息。如果出现错误,一般是依赖库没有安装完成,可按照错误提示信息进行所缺的依赖库安装。

1
./configure --prefix=/usr/local/nginx
  • 进行源码编译并安装 nginx(执行make如果没有发生错误就执行make install)
1
make && make install
  • nginx服务操作命令

    • 启动服务
    1
    /usr/local/nginx/sbin/nginx
    • 重新加载服务
    1
    /usr/local/nginx/sbin/nginx -s reload
    • 停止服务
    1
    /usr/local/nginx/sbin/nginx -s stop
    • 查看nginx 服务进程
    1
    ps -ef | grep nginx

nginx简单入门

什么是nginx?

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

niginx有什么用? (四大作用)

  • 动静分离

动静分离其实就是 Nginx 服务器将接收到的请求分为动态请求和静态请求

静态请求直接从 nginx 服务器所设定的根目录路径去取对应的资源,动态请求转发给真实的后台去处理

这样做不仅能给应用服务器减轻压力,将后台api接口服务化,还能将前后端代码分开并行开发和部署

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {  
listen 8080;
server_name localhost;

location / {
root html; # Nginx默认值
index index.html index.htm;
}

# 静态化配置,所有静态请求都转发给 nginx 处理,存放目录为 my-project
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
root /usr/local/var/www/my-project; # 静态请求所代理到的根目录
}

# 动态请求匹配到path为'node'的就转发到8002端口处理
location /node/ {
proxy_pass http://localhost:8002; # 充当服务代理
}
}
  • 反向代理

反向代理其实就类似你去找代购帮你买东西(浏览器或其他终端向nginx请求),你不用管他去哪里买,只要他帮你买到你想要的东西就

行(浏览器或其他终端最终拿到了他想要的内容,但是具体从哪儿拿到的这个过程它并不知道)

配置反向代理:

1
2
3
4
5
6
7
8
9
10
11
12
server {  
listen 8080;
server_name localhost;

location / {
root html; # Nginx默认值
index index.html index.htm;
}

proxy_pass http://localhost:8000; # 反向代理配置,请求会被转发到8000端口
}

  • 负载均衡

随着业务的不断增长和用户的不断增多,一台服务已经满足不了系统要求了。这个时候就出现了服务器 集群

在服务器集群中,Nginx 可以将接收到的客户端请求“均匀地”(严格讲并不一定均匀,可以通过设置权重)分配到这个集群中所有的服务

器上。这个就叫做负载均衡

配置负载均衡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 负载均衡:设置domain
upstream domain {
server localhost:8000;
server localhost:8001;
}
server {
listen 8080;
server_name localhost;

location / {
# root html; # Nginx默认值
# index index.html index.htm;

proxy_pass http://domain; # 负载均衡配置,请求会被平均分配到8000和8001端口
proxy_set_header Host $host:$server_port;
}
}
  • 正向代理

正向代理跟反向道理正好相反。拿上文中的那个代购例子来讲,多个人找代购购买同一个商品,代购找到买这个的店后一次性给买了。这

个过程中,该店主是不知道代购是帮别代买买东西的。那么代购对于多个想买商品的顾客来讲,他就充当了正向代理。

nginx删除

当有一天,你不再爱nginx时,你将如何删除它呢

  • yum卸载nginx
1
2
3
4
5
6
7
8
9
10
[root@VM_0_4_centos local]# yum remove nginx

Loaded plugins: fastestmirror, langpacks
Resolving Dependencies

......

Removed:
nginx.x86_64 1:1.18.0-1.el7.ngx
Complete!
  • 查看nginx是否还存在
1
2
[root@VM_0_4_centos ~]# find / -name nginx
[root@VM_0_4_centos ~]#