目录
根据上篇博客 操作,再添加一台haproxy服务器做(备用)边缘服务器,部署keepalived。
[root@haproxy ~]#yum -y install pcre-devel zlib-devel gcc gcc-c++ make
tar zxvf haproxy-1.6.9.tar.gz #解压安装包
cd haproxy-1.6.9/ #进入解压目录
make TARGET=linux2628 ARCH=x86_64 #进行编译
(TARGET=linux2628 表示内核版本,使用uname -r查看内核,如:2.6.18-371.el5,此时该参数用TARGET=linux26;kernel大于2.6.28的用TARGET=linux2628)
(ARCH=x86_64 系统位数,现在基本都是64位)
make install # 安
[root@kya haproxy-1.5.19]#mkdir /etc/haproxy
[root@kya haproxy-1.5.19]#cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/
[root@kya haproxy-1.5.19]#cd /etc/haproxy/
[root@kya haproxy]#ls
haproxy.cfg


删除将原来的listen配置项,添加新配置:
listen webcluster 0.0.0.0:80
option httpchk GET /index.html
balance roundrobin
server nginx1 192.168.135.90:80 check inter 2000 fall 3
server nginx2 192.168.135.91:80 check inter 2000 fall 3
5,添加haproxy系统服务

cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
chmod +x /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxyln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
service haproxy start 或 /etc/init.d/haproxy start //如果ningx服务器未部署会提示找不到web服务器,可以等web部署完后再开启haproxy

systemctl stop firewalld
setenforce 0
yum -y install gcc gcc-c++ make pcre-devel bzip2-devel
tar zxvf haproxy-1.6.9.tar.gz
cd haproxy-1.6.9/
make TARGET=linux2628 ARCH=x86_64 #进行编译
make install
mkdir /etc/haproxy #创建haproxy目录
cp examples/haproxy.cfg /etc/haproxy/ #将软件包中的配置文件模板复制到haproxy目录中
cd
vim /etc/haproxy/haproxy.cfg #修改haproxy.cfg配置参数
下面两项前面加上注释
#chroot /usr/share/haproxy #固有目录,可注释掉
#redispatch #当使用了cookie时,haproxy将会将其请求的后端服务器的serverID插入到cookie中,以保证会话的SESSION持久性;而此时,如果后端的服务器宕掉了,但是客户端的cookie是不会刷新的,如果设置此参数,将会将客户的请求强制定向到另外一个后端server上,以保证服务的正常。需要注释掉
删除将原来的listen配置项,添加新配置:
listen webcluster 0.0.0.0:80
option httpchk GET /index.html
balance roundrobin
server nginx1 192.168.135.90:80 check inter 2000 fall 3
server nginx2 192.168.135.91:80 check inter 2000 fall 3
优化服务启动:
cp haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy
vi /etc/init.d/haproxy
修改:
# chkconfig: 35 85 15
chmod 755 /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
systemctl start haproxy
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
yum -y install keepalived
cp keepalived/etc/init.d/keepalived /etc/init.d ###加入系统管理服务
systemctl enable keepalived.service ###设置开机自启动
vi /etc/keepalived/keepalived.conf ###编辑配置文件
删除原有配置,重新添加:! Configuration File for keepalived
global_defs { #全局参数
router_id LVS_01 #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_1 { #指定vrrp热备参数
state MASTER #服务器角色是master,备份服务器设置为BACKUP
interface ens33 #修改物理网卡名称,默认是centos6的eth0
virtual_router_id 10 #组号相同
priority 150 #优先级,主服务器设置要大于备服务器
advert_int 1
authentication {
auth_type PASS #验证类型和密码,不建议修改
auth_pass 123
}
virtual_ipaddress {
192.168.135.100 #漂移地址(VIP)地址,可以有多个
}
}[root@haproxy2 ~]# systemctl start keepalived
[root@haproxy2 ~]# ip addr
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
删除原有配置,重新添加

! Configuration File for keepalived
global_defs { #全局参数
router_id LVS_01 #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_1 { #指定vrrp热备参数
state MASTER #服务器角色是master,备份服务器设置为BACKUP
interface ens33 #修改物理网卡名称,默认是centos6的eth0
virtual_router_id 10 #组号相同
priority 150 #优先级,主服务器设置要大于备服务器
advert_int 1
authentication {
auth_type PASS #验证类型和密码,不建议修改
auth_pass 123
}
virtual_ipaddress {
192.168.135.100 #漂移地址(VIP)地址,可以有多个
}
}

systemctl stop firewalld
setenforce 0
yum -y install gcc gcc-c++ make pcre-devel bzip2-devel
tar zxvf haproxy-1.6.9.tar.gz
cd haproxy-1.6.9/
make TARGET=linux2628 ARCH=x86_64 #进行编译
make install
mkdir /etc/haproxy #创建haproxy目录
cp examples/haproxy.cfg /etc/haproxy/ #将软件包中的配置文件模板复制到haproxy目录中
cd
vim /etc/haproxy/haproxy.cfg #修改haproxy.cfg配置参数下面两项前面加上注释
#chroot /usr/share/haproxy #固有目录,可注释掉
#redispatch #当使用了cookie时,haproxy将会将其请求的后端服务器的serverID插入到cookie中,以保证会话的SESSION持久性;而此时,如果后端的服务器宕掉了,但是客户端的cookie是不会刷新的,如果设置此参数,将会将客户的请求强制定向到另外一个后端server上,以保证服务的正常。需要注释掉删除将原来的listen配置项,添加新配置:
listen webcluster 0.0.0.0:80
option httpchk GET /index.html
balance roundrobin
server nginx1 192.168.135.90:80 check inter 2000 fall 3
server nginx2 192.168.135.91:80 check inter 2000 fall 3
优化服务启动:
cp haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy
vi /etc/init.d/haproxy修改:
# chkconfig: 35 85 15chmod 755 /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
systemctl start haproxy
前面已经做过直接看keepalived配置
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
yum -y install keepalived
cp keepalived/etc/init.d/keepalived /etc/init.d ###加入系统管理服务
systemctl enable keepalived.service ###设置开机自启动
vi /etc/keepalived/keepalived.conf ###编辑配置文件
删除原有配置,重新添加:! Configuration File for keepalived
global_defs { #全局参数
router_id LVS_02 #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_1 { #指定vrrp热备参数
state BACKUP #服务器角色是master,备份服务器设置为BACKUP
interface ens33 #修改物理网卡名称,默认是centos6的eth0
virtual_router_id 10 #组号相同
priority 140 #优先级,主服务器设置要大于备服务器
advert_int 1
authentication {
auth_type PASS #验证类型和密码,不建议修改
auth_pass 123
}
virtual_ipaddress {
192.168.135.100 #漂移地址(VIP)地址,可以有多个
}
}[root@haproxy2 ~]# systemctl start keepalived
[root@haproxy2 ~]# ip addr
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
删除原有配置,重新添加

! Configuration File for keepalived
global_defs { #全局参数
router_id LVS_02 #指定名称,各个服务器名称要不一样
}
vrrp_instance VI_2 { #指定vrrp热备参数
state BACKUP #服务器角色是master,备份服务器设置为BACKUP
interface ens33 #修改物理网卡名称,默认是centos6的eth0
virtual_router_id 10 #组号相同
priority 140 #优先级,主服务器设置要大于备服务器
advert_int 1
authentication {
auth_type PASS #验证类型和密码,不建议修改
auth_pass 123
}
virtual_ipaddress {
192.168.135.100 #漂移地址(VIP)地址,可以有多个
}
}


[root@nginx1 ~]# systemctl stop firewalld
[root@nginx1 ~]# setenforce 0
[root@nginx1 nginx-1.12.2]# cd
[root@nginx1 ~]# echo "<h1>192.168.135.90</h1>" > /usr/local/nginx/html/index.html #创建首页内容
[root@nginx1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin #优化启动项
[root@nginx1 ~]# nginx
[root@nginx1 ~]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 58600/nginx: master
systemctl start nginx
[root@nginx1 ~]# systemctl stop firewalld
[root@nginx1 ~]# setenforce 0
[root@nginx1 nginx-1.12.2]# cd
[root@nginx1 ~]# echo "<h1>192.168.135.91</h1>" > /usr/local/nginx/html/index.html #创建首页内容
[root@nginx1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin #优化启动项
[root@nginx1 ~]# nginx
[root@nginx1 ~]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 58600/nginx: master
systemctl start nginx






再次开启主服务器
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/
前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
Ocra无法处理需要“tk”的应用程序require'tk'puts'nope'用奥克拉http://github.com/larsch/ocra不起作用(如链接中的一个问题所述)问题:https://github.com/larsch/ocra/issues/29(Ocra是1.9的"new"rubyscript2exe,本质上它用于将rb脚本部署为可执行文件)唯一的问题似乎是缺少tcl的DLL文件我不认为这是一个问题据我所知,问题是缺少tk的DLL文件如果它们是已知的,则可以在执行ocra时将它们包括在内有没有办法知道tk工作所需的DLL依赖项? 最佳答
A/ctohttp://wiki.nginx.org/CoreModule#usermaster进程曾经以root用户运行,是否可以以不同的用户运行nginxmaster进程? 最佳答案 只需以非root身份运行init脚本(即/etc/init.d/nginxstart),就可以用不同的用户运行nginxmaster进程。如果这真的是你想要做的,你将需要确保日志和pid目录(通常是/var/log/nginx&/var/run/nginx.pid)对该用户是可写的,并且您所有的listen调用都是针对大于1024的端口(因为绑定(
我有一个类unzipper.rb,它使用Rubyzip解压文件。在我的本地环境中,我可以成功解压缩文件,而无需使用require'zip'明确包含依赖项但是在Heroku上,我得到一个NameError(uninitializedconstantUnzipper::Zip)我只能通过使用明确的require来解决问题:为什么这在Heroku环境中是必需的,但在本地主机上却不是?我的印象是Rails自动需要所有gem。app/services/unzipper.rbrequire'zip'#OnlyrequiredforHeroku.Workslocallywithout!class
出于某种原因,heroku尝试要求dm-sqlite-adapter,即使它应该在这里使用Postgres。请注意,这发生在我打开任何URL时-而不是在gitpush本身期间。我构建了一个默认的Facebook应用程序。gem文件:source:gemcuttergem"foreman"gem"sinatra"gem"mogli"gem"json"gem"httparty"gem"thin"gem"data_mapper"gem"heroku"group:productiondogem"pg"gem"dm-postgres-adapter"endgroup:development,:t
如何使用Capistrano将Rails应用程序部署到无法访问外部网络或存储库的生产或暂存服务器?我已经设法完成部署的一半,并意识到Capistrano没有在我的本地机器上下载gitrepo,但它首先连接到远程服务器并尝试在那里下载Git存储库。我希望有一个类似Javaee的构建系统,其中创建可交付成果并将该可交付成果发送到服务器。就像您构建.ear文件并将其部署到您想要的任何服务器上一样。显然在RoR中,你被迫(据我所知)在该服务器上构建应用程序,在那里创建一个gem存储库,在那里克隆最新的分支等等。有什么方法可以将准备运行的包发送到远程服务器吗? 最佳答