Linux下安装nginx实现伪分布式

/ Linux / 2 条评论 / 409人围观

请输入图片描述

刚刚入行的时候就听说过了nginx,但是她就像穿着薄纱的美女,总感觉神秘不可描述,如今我想一步步揭开她神秘的面纱,来,官方式的介绍:

Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,它是由 C 语言开发,建议在 Linux 下运行。。。

首先在一台干净的OS上:

  1. 安装 Nginx 的编译环境 gcc
yum install gcc-c++
  1. nginx 的 https 模块使用 pcre 解析正则表达式,所以安装 perl 兼容的正则表达式库,-y的意思是去除互动,比如是否安装等,默认为是。
yum install -y pcre pcre-devel
  1. nginx 使用 zlib 对 https 包的内容进行 gzip
yum install -y zlib zlib-devel
  1. nginx 不仅支持 https 协议,还支持 httpss(即在 ssl 协议上传输 https),如果使用了 httpss ,需要安装 OpenSSL 库
yum install -y openssl openssl-devel
  1. 下载并解压包
// 创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
// 下载tar包
wget https://nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz

进入nginx-1.13.7下执行命令:

./configure
  1. 执行命令安装
// 执行make命令
make
// 执行make install命令
make install
  1. 配置一下环境变量方便启动和reload
vim /etc/profile

将它添进去

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

重新编译profile

source /etc/profile
  1. nginx启动
// 进入nginx目录
cd sbin
sudo ./nginx
  1. 访问nginx nginx默认是用80端口,有可能启动的时候起不来,提示端口占用,可以用
lsof -i:80

查看哪个应用占用80,如果有就kill掉即可,如果没有装lsof命令,执行以下命令,ok

yum install lsof

实现伪分布:

  1. 因为我是springboot项目,没有用外置的tomcat,所以准备好两个jar包即可(两个jar包除了端口不同,其他均一样,然后启动这两个jar包即可<就使用java -jar的方式启动>)
  2. 在nginx目录下的conf下有个叫nginx.conf的配置文件

什么都不需要动,只需要在https的花括号中添加:

#设定负载均衡的服务器列表
    upstream mystory {
        #weigth参数表示权值,权值越高被分配到的几率越大
        #本机上的Squid开启3128端口
        server 39.106.39.2:8082 weight=5;
        server 39.106.39.2:8081  weight=5;
    }

其中mystory为自定义的名字,然后在https大括号中的server下的location中添加proxy_pass https://mystory;即可

        location / {
            proxy_pass https://mystory;
            # 以下是为了让nginx知道,访问用户的真实ip是多少
	    proxy_set_header Host $https_host; 
            proxy_set_header X-Real-IP $remote_addr; 
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

这里的mystory和上面upstream的名字对应即可,ok最简单的负载配置完成,因为nginx支持热部署,只需要执行命令:

nginx -s reload

其中涉及到的参数,等我再研究研究,再拿出来吧~

  1. Moumou到此一游

    回复
  2. 哈哈哈哈哈哈

    回复