您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

Nginx的安装及负载均衡配置、开机启动

时间:2021-03-11 10:32:46  来源:  作者:

Nginx的安装及负载均衡配置

在安装完分布式文件系统之后,就可以在应用程序中进行调用了。注意需要在 Web端的页面上进行访问,还必须借助Nginx 提供访问服务。使用Nginx 不仅可以构建负载均衡服务还能使用缓存设置。在跟踪器和存储节点上都必须安装Nginx,下面分别进行说明。

微服务架构实战:Nginx的安装及负载均衡配置、开机启动

 

在跟踪器上安装Nginx

在两台 Tracker Server机器上,按如下方法安装和配置Nginxo安装pcre支持库,按顺序执行下列命令:

tar xf pcre-8.40.tar.gz
cd pcre-8.40
./configure --prefix=/usr/local/pcre
make && make install

完成后,返回安装包存放路径/opt,按顺序执行下列命令,安装Nginx:

tar xfnginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/data/nginx --with-pcre=/opt/pcre-8.40
--user=nginx 
--group=nginx 
--with-http ssl module --with-http realip module --with-http stub status module
make && make install

编辑Nginx的配置文件nginx.conf,内容如下所示:

user nginx nginx;worker processes 2;
#pid /usr/local/nginx/nginx.pid;worker rlimit nofile 51200;
events
{
use epoll;
worker connections 20480;
}
http
{
includemime. types;
default type Application/octet-stream;
log format main '$remote_ addr - $remote_user [$time_local] "$request
'$status $body bytes sent "Shttp referer"'
'"Shttp user agent" "$http x forwarded for" "$request time"';
access_log /data/nginx /logs/access.log main;
upstream server_group1{
server 192.168.1.23;
server 192.168.1.33;
}
server  {
listen 80;
server name localhost;location /group1 {
#include proxy.conf;
proxy pass http://server groupl;
}
}
}

这个配置的原理是对两个存储节点上HTTP服务的访问,将由跟踪服务器进行负载均衡调度。例如,14.5节测试生成的图片文件,可以通过跟踪服务器使用如下所示的链接进行访问:

http://192.168.1.22/group1/M00/00/00/wKgBGFk3kUqACu9JAAGmMpryn2s674.png

使用如下命令启动Nginx:

/data/nginx/sbin/nginx

 

微服务架构实战:Nginx的安装及负载均衡配置、开机启动

 

在存储节点上安装Nginx

在两台Storage机器上,进入存放安装包的路径/opt,按顺序执行下列命令,安装pcre支持库:

tar xf fastdfs-nginx-module_v1.16.tar.gz
tar xf pcre-8.40.tar.gz
cd pcre-8.40
./configure --prefix=/data/pcre
make && make install

完成后,返回存放安装包的路径/opt,按顺序执行下列命令,安装Nginx:

tar xf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/data/nginx —-with-pere-/opt/pcre-8.40
--user=nginx1
--group-nginx 
—-with-http_ssl module --with-http realip module l
--with-http stub status module 
--add-module=/opt/fastdfs-nginx-module/src
make && make install

完成后,按下列命令复制相关文件:

cp /opt/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/cd /opt/fastdfs-5.10/conf
cp anti-steal.jpg http.conf mime.types /etc/fdfs/

完成后,使用如下命令编辑配置文件mod_fastdfs.conf:

vi /etc/fdfs/mod fastdfs.conf

编辑下列各项内容:

#日志目录
base path=/tmp
#跟踪服务器
tracker server=10.10.10.22:22122tracker server=10.10.10.32:22122#URL中是否有group名称
url have group name = true#storage path的个数
store_path_count=2
store_path0=/data/fdfs_storage/storage0store_pathl=/data/fdfs_storage/storage1

使用如下命令编辑Nginx配置文件:

vi /data/nginx/ conf/nginx.conf

文件的内容如下所示:

user nginx nginx;
worker processes 2;
#pid/usr/local/nginx/logs/nginx.pid;worker rlimit_nofile 1024;
events {
use epoll;
worker connections 1024;
}
http {
include mime.types;
server names hash bucket size 128;client header buffer_size 32k;
largeclient header buffers 432k;client max body size 20m;
limit rate 1024k;
default type application/octet-stream;
log format main '$remote addr - $remote user [$time local] "Sreauest" 1'$status $body bytes sent "$http referer",
I"Shttp user agent" "Shttp x forwarded for"';
access log/data/nginx/logs/access.log main;
server {
listen 80;
server name localhost;
location ~/group[0-9]/MO0{
#root /data/fdfs storage;ngx fastdfs module;
}
}
}

保存文件后,使用如下命令创建两个软链接:

ln -s /data/fdfs storage/storage0 /data/fdfs storage/storage0/M00
ln -s /data/fdfs storage/storagel /data/fdfs storage/storage1/M00

使用如下命令启动Nginx:

/data/nginx/sbin/nginx

 

微服务架构实战:Nginx的安装及负载均衡配置、开机启动

 

开机启动

为了方便运维管理,前面安装的各个服务都可以设置为开机启动。

开机启动Tracker

在两台Tracker Server机器上,创建服务启动文件:

vi/etc/rc.d/init.d/fdfs trackerd

输入如下内容:

#!/bin/bash
#
#fdfs trackerd Starts fdfs trackerd#
#
#chkconfig: 234599 01
#description: FastDFS tracker server### BEGIN INIT INFO
# Provides: $fdfs trackerd###END INIT INFO
#Source function library.
. /etc/init.d/functions
PRG=/usr/bin/fdfs trackerdCONF=/etc/fdfs/tracker.conf
if[!-f $PRG ];then
echo "file $PRG does not exist!"exit 2
fi
if[!-f $CONF ]; then
echo "file $CONF does not exist! "
exit 2
fi
CMD="$PRG $CONF"RETVAL=0
start( {
echo -n $"Starting FastDFS tracker server: "$CMD &
RETVAL=$?echo
return $RETVAL
}
stop () {
$CMD stopRETVAL=$?
return $RETVAL
}
rhstatus() {
status fdfs trackerd
}
restart(  {
$CMD restart &
case "$1" in
start)
start;;
stop)
stop;;
status)
rhstatus
;;
restart|reload)
restart
;;
condrestart)
restart;;
* )
echo $"Usage: $0 {start IstopIstatus|restart l.condrestart}"exit 1
esac
exit $?

按顺序执行下列命令,把 Tracker设置为开机启动:

chmod 755 /etc/rc.d/init.d/fdfs trackerd
chkconfig --add fdfs_trackerd
chkconfig fdfs_trackerd on

开机启动 Storage

在两台Storage机器上,创建服务启动文件:

vi /etc/init.d/fdfsstoraged

输入如下内容:

#!/bin/bash#
#fdfs storaged Starts fdfs storaged#
#
#chkconfig:2345 99 01
# description: FastDFS storage server### BEGIN INIT INFO
# Provides: $fdfs storaged### END INIT INFO
#Source function library../etc/init.d/ functions
PRG=/usr/bin/fdfs_storaged
CONF=/etc/fdfs/storage.conf
if [!-f $PRG ];then
echo "file $PRG does not exist! "exit 2
fi
if [!-f $CONF J;then
echo "file $CONF does not exist! "exit 2
fi
CMD="SPRG $CONF"RETVAL=0
start({
echo -n "Starting FastDES storage server: "$CMD &
RETVAL=$?echo
return $RETVAL
stop(){
$CMD stopRETVAL-$?
return $RETVAL
rhstatus() {
status fdfs_storaged
}
restart({
$CMD restart &
}
case "$1" instart)
start;
;
stop)
stop
status)
rhstatus
;;
restartlreload)
restart
;;
condrestart)
restart;;
*)
echo "Usage: $0{startlstoplstatus| restartl condrestart}"exit 1
esac
exit $?

按顺序执行下列命令,把 Storage设置为开机启动:

chmod 755 /etclrc.d/init.d/fdfs storaged
chkconfig --add fdfs storaged
chkconfig fdfs storaged on

开机启动Nginx

在四台机器中各创建一个Nginx启动文件:

vi /etc/init.d/nginx

输入如下内容:#!/bin/bash

# chkconfig: -8515PATH=/data/nginx
DESC="nginx daemon"NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.confPIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAMEset -e
[-x "$DAEMON" 1llexit 0do start( {
$DAEMON -c $CONFIGFILE I echo -n "nginx already running"}
do_stop ({
$DAEMON -s stop ll echo -n "nginx not running"}
do reload() {
$DAEMON-s reload ll echo -n "nginx can't reload")
case "$1" instart)
echo -n "Starting $DESC: $NAME"do_start
echo ".";;
stop)
echo -n "Stopping $DESC:$NAME""do_stop
echo ".";;
reloadl graceful)
echo -n "Reloading $DESC configuration. . ."do reload
echo ".";
restart)
echo -n "Restarting $DESC:$NAME"do stop
do_startecho ".";;
*)
echo "Usage: $SCRIPTNAME {startlstopl reloadlrestart}">&2exit 3
;;
esacexit 0

按顺序执行下列命令,把 Nginx设置为开机启动:chmod 755 /etc/rc.d/init.d/nginx

chkconfig --add nginx
chkconfig nginx on

小结

本章使用开源的FastDFS搭建了一个高可用的分布式文件系统,并通过Nginx为文件的访问设置了负载均衡服务,从而为微服务应用提供一个高性能的文件服务器。

在完成安装并测试正常之后,即可在库存管理项目中配置分布式文件系统的链接地址,使用微服务与分布式文件系统进行联调。



Tags:Nginx   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  Tags: Nginx  点击:(7)  评论:(0)  加入收藏
前言Nginx是前后端开发工程师必须掌握的神器。该神器有很多使用场景,比如反向代理、负载均衡、动静分离、跨域等等。把 Nginx下载下来,打开conf文件夹的nginx.conf文件,Nginx服...【详细内容】
2021-12-08  Tags: Nginx  点击:(18)  评论:(0)  加入收藏
最近客户有个新需求,就是想查看网站的访问情况,由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的页...【详细内容】
2021-10-09  Tags: Nginx  点击:(48)  评论:(0)  加入收藏
安全服务器是只允许所需数量的服务器。理想情况下,我们将通过单独启用其他功能来基于最小系统构建服务器。进行最少的配置也有助于调试。如果该错误在最小系统中不可用,则分别...【详细内容】
2021-09-26  Tags: Nginx  点击:(60)  评论:(0)  加入收藏
在今年的NGINX Sprint 2.0虚拟大会上,NGINX(来自流行的开源web服务器/负载均衡器和反向代理背后的公司F5),发布了NGINX现代应用参考架构(MARA)。该公司在一篇博客文章中说,这将帮...【详细内容】
2021-09-26  Tags: Nginx  点击:(60)  评论:(0)  加入收藏
Ubuntu下安装Nginx一、系统基本信息查看1、查看Ubuntu版本信息:使用命令:cat /proc/version 查看~$ cat /proc/versionLinux version 4.15.0-106-generic (buildd@lcy01-amd6...【详细内容】
2021-09-16  Tags: Nginx  点击:(60)  评论:(0)  加入收藏
出于安全审查或者对于系统安全性的要求,都要求我们生产环境部署的系统需要做一定的权限控制。那么如何简单快速地部署满足安全要求的权限系统呢?其实可以通过nginx的相关功能...【详细内容】
2021-09-07  Tags: Nginx  点击:(69)  评论:(0)  加入收藏
什么是NginxNginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,高并发特点强。1、处理静态文件,索引文件以及自动检索打开文件描述符缓冲2、无缓冲的反向代理加速...【详细内容】
2021-09-02  Tags: Nginx  点击:(70)  评论:(0)  加入收藏
本文适用于 php7.4+NGINX环境,适用于运行 wordpress 环境一、更新服务器sudo apt update二、命令快捷缩写设置通过ssh登录服务器,在用户目录下执行以下命令sudo nano .bashrca...【详细内容】
2021-08-31  Tags: Nginx  点击:(87)  评论:(0)  加入收藏
一、nginx正向代理介绍及配置(需要在客户端配置代理服务器进行指定网站访问)#模块 ngx_http_proxy_module: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy...【详细内容】
2021-08-16  Tags: Nginx  点击:(75)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条