nginx服务搭建,动态代理,动静分离,负载均衡

1.搭建过程中命令使用

1.1 yum 命令
yum 是一个在 CentOS 和其他基于 RPM 的 Linux 发行版上常用的包管理工具。它可以用于安装、更新和删除软件包,以及处理相关的依赖关系。
1.1.1 更新操作
-- 更新资源包
yum check-update

-- 更新系统上的所有软件包
yum update

-- 更新系统上的所有软件包(-y : 自动跳过yes操作)
yum -y update

-- 升级一个软件包
yum upgrade <package_name>
1.1.2 安装操作
-- 安装一个软件包
yum install <package_name>

-- 自动安装一个软件包(-y : 自动跳过 yes操作)
yum -y install <package_name>
1.1.3卸载一个软件包
-- 卸载一个软件包
yum remove <package_name>
1.1.4 搜索一个软件包
-- 搜索一个软件包
yum search <keyword>
1.2 查找文件
-- 查找指定程序对应的位置
whereis   选项   文件名

选项:
	-b:仅搜索可执行文件的位置
	-m:仅搜索与源文件相关的位置
	-s:仅搜索帮助文档的位置
举例说明: whereis nginx (查找nginx 在服务器中对应的位置)

2.如何删除已经安装的linux

2.1先停止nginx服务
sudo systemctl stop nginx
2.2删除nginx
-- 使用yum安装执行此命令卸载
sudo yum remove nginx

-- 使用dnf安装执行此命令卸载
sudo dnf remove nginx
2.3删除配置文件和日志文件
-- 查找文件所在位置
whereis  nginx
-- 删除文件
sudo rm -r /etc/nginx
sudo rm -r /var/log/nginx


-- 安装包下载 不需要执行步骤2.2 直接执行下面命令即可
sudo rm -rf <nginx安装目录>

3.安装nginx

3.1下载安装包
-- 命令行使用yum  install即可
-- http://nginx.org/en/download.html 官网下载也行
-- 这里推荐大家官方下载  命令行安装可能缺少环境配置等情况
-- 将安装包放到自定义的路径上(我放在了/usr/local)
3.2解压压缩包
-- 解压安装包
tar -zxvf nginx-1.24.0.tar.gz nginx-1.24.0/
3.3加载配置文件
-- 进入解压后的nginx文件中
cd /usr/local/nginx-1.24.0

-- 加载配置文件
./configure
3.4执行安装命令
-- 执行make命令
make
-- 执行make install命令
make install
3.5启动nginx
-- 执行上述几步,已经安装完毕
-- 执行whereis nginx 查找存放路径
-- cd 切换到指定路径 进到sbin目录
-- 执行 ./nginx


这里可能会有一个端口被占用的bug.
解决方案:
	进入到/usr/local/nginx/conf   在conf目录下有一个 nginx.conf修改里面的监听端口即可
3.6启动端口后测试
服务器ip + 端口  跳转到 nginx欢迎页面 即表示安装成功

4.nginx常用命令

-- 启动nginx
./nginx

-- 停止nginx
./nginx  -s stop

-- 安全退出
./nginx -s quit

-- 重新加载配置文件
./nginx -s reload

-- 查看nginx进程
ps aux|grep nginx

5.nginx.conf详解

5.1nginx简略配置

全局配置
#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;



进程最大数 和 监听事件配置
events {
    worker_connections  1024;
}



请求配置
http {
	http全局配置
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;


	服务配置  ,  server 可以配置多个
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html;
			proxy_pass  urlxxxx;
        }
        location = /50x.html {
            root   html;
        }
    }
	server {
        listen       81;
        server_name  localhost;
        location / {
            root   html;
            index  index.html;
        }
        location = /50x.html {
            root   html;
        }
    }
}

5.2nginx实现代理
//实现如下配置即可 添加proxy_pass 代理地址 进行路由

server {
		#监听配置端口  有请求会打在对应的location下
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html;
			#配置代理地址
			proxy_pass  urlxxxx;
        }
    	#监听80端口下  /admin下的所有请求走location下的代理地址
    	location /admin {
            root   html;
            index  index.html;
			#配置代理地址
			proxy_pass  urlxxxx;
        }
    
        location = /50x.html {
            root   html;
        }
    }
5.3nginx实现负载均衡
//在http模块下 使用upstream 实现负载均衡.  upstream 后面名字 自定义

http {
    
    upstream woshizidingyi {
        //通过weight配置 负载均衡对应的权重,推荐根据内存大小分配合理全权重
        server www.baidu.com weight=4;
        server www.baidubaidu.com weight=2;
        server www.baidubaidubaidu.com weight=1;
    }

    server {
        ...
        location / {
            //将代理地址写到我们负载均衡参数中即可
            proxy_pass http://woshizidingyi;
            ...
        }
    }
}
5.4nginx实现动静分离
前提条件
    首先,将所有静态资源(例如 HTMLCSSJavaScript、图像文件等)放置到一个特定的目录中,例如 /var/www/
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        # 处理动态请求的配置
        proxy_pass http://woshizidingyi;
        ...
    }

    # 匹配所有以 /static/ 开头的请求,将其映射到静态资源目录
    location /static/ {
        # 处理静态资源请求的配置
        root /var/www;
        expires max;
        ...
    }
}
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        # 处理动态请求的配置
        proxy_pass http://woshizidingyi;
        ...
    }

    # 匹配所有以 /static/ 开头的请求,将其映射到静态资源目录
    location /static/ {
        # 处理静态资源请求的配置
        root /var/www;
        expires max;
        ...
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx是一款强大的开源Web服务器软件,除了支持常规的Web服务器功能外,还可以用作正向代理、反向代理负载均衡以及动静分离的配置。 正向代理是指客户端通过代理服务器发送请求,然后由代理服务器转发到目标服务器,从而隐藏客户端的真实身份。在nginx中,可以通过配置修改proxy_pass指令来实现正向代理功能。 反向代理是指客户端发送请求到代理服务器,代理服务器再将请求转发到后端的服务器,然后将后端服务器的响应返回给客户端,客户端无法直接访问到后端服务器。在nginx中,可以通过修改proxy_pass指令来实现反向代理,并且可以使用负载均衡来分配请求到多个后端服务器。 负载均衡是指将请求分发到多个服务器上,以达到均衡负载的目的。在nginx中,可以使用upstream模块配置多个后端服务器,并通过配置proxy_pass和proxy_redirect实现请求的负载均衡nginx支持多种负载均衡算法,如轮询、IP哈希等。 动静分离是指将动态资源和静态资源分别部署在不同的服务器上,以提高系统性能和并发能力。在nginx中,可以通过配置location指令将动态请求和静态请求分别代理到不同的后端服务器或直接返回静态文件,从而实现动静分离。 总结来说,nginx通过配置实现了正向代理、反向代理负载均衡动静分离等功能,在提供Web服务的同时,能够提高系统的性能、并发能力和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值