【金沙澳门登陆网站】新项目开发及运行环境配

2019-11-04 11:26 来源:未知

新品类支付及运转条件布置-nodejs前台+java后台+postgresql数据库+nginx+tomcat,-nodejsnginx

inotify+unison完结数量双向实时同步

明天做了八个新类型,网址架构是后边三个用的nginx反向代理了后端两台tomcat,当时两台tomcat之间的数量完毕实时同步,成了叁个难题?

 

在英特网寻觅了无数方案,在liux下做文件同步,好似下二种办法:

 

1、nfs完成web数据分享

 

2、rsync +inotify达成web数据同步

 

3、rsync+sersync更加快更节约财富达成web数据同步

 

4、unison+inotify实现web数据双向同步

 

在这地详细介绍第八种方案,前两种都多少各自的难以为继。唯有第各样方案支持双向实时同步,,且当在那之中豆蔻梢头台服务器宕机,也不会影响web的拜会。(ps:从前一贯爱护nfs,配置非常轻松,不过其有个沉重的老毛病正是里面风姿浪漫台web服务挂掉之后,会从来变成web页面不能访问卡塔尔。

 

Unison是风流洒脱款跨windows/linux/MAC OS平台的文本同步工具,不止支持本地对本土同步,也支撑通过SSH、途锐SH和Socket等互连网公约举办合作。更棒的是,Unison援救双向同步操作,你既可以够从A同步到B,也得以从B同步到A,那么些都没有必要额外的设定。

 

下载况兼编写翻译安装八个软件包。(inotify-tools-3.14.tar.gz、ocaml-3.10.2.tar.gz、unison-2.32.52.tar.gz)

 

[[email protected] tools]# wget

[[email protected] ~]# mkdir -p /taokey/tools

[[email protected] ~]# cd /taokey/tools/

[[email protected] tools]# wget

[[email protected] tools]# wget

[[email protected] tools]# wget

[[email protected] tools]# tar xf inotify-tools-3.14.tar.gz

[[email protected] tools]# tar xf ocaml-3.10.2.tar.gz

[[email protected] tools]# ll

总用量 3772

drwxrwxrwx  5 1000  1000    4096 3月  14 2010 inotify-tools-3.14

-rw-r--r--  1 root root   358772 3月  14 2010 inotify-tools-3.14.tar.gz

drwxrwxr-x 26 root wheel    4096 2月  29 2008 ocaml-3.10.2

-rw-r--r--  1 root root  2785669 2月  29 2008 ocaml-3.10.2.tar.gz

drwxr-xr-x  7  501 wheel    4096 6月  30 2009 unison-2.32.52

-rw-r--r--  1 root root   697866 6月  30 2009 unison-2.32.52.tar.gz

 

编写翻译安装inotify,须要设置gcc编写翻译器,不然inotify编译报错。

 

[[email protected] tools]# cd inotify-tools-3.14

[[email protected] inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify && make && make install

 

改善PATH情形变量

 

[[email protected] inotify-tools-3.14]# cd /usr/local/inotify/

[[email protected] inotify]# echo "PATH=/usr/local/inotify/bin:$PATH" >/etc/profile.d/inotify.sh

[[email protected] inotify]# source /etc/profile.d/inotify.sh

 

增加库文件到系统识别的门道

 

[[email protected] inotify]# echo "/usr/local/inotify/lib" >/etc/ld.so.conf.d/inotify.conf

[[email protected] inotify]# ldconfig -v | grep inotify

/usr/local/inotify/lib:

        libinotifytools.so.0 -> libinotifytools.so.0.4.1

 

链接库文件到系统识其余门路

 

[[email protected] inotify]# ln -sv /usr/local/inotify/include/ /usr/include/inotify

"/usr/include/inotify" -> "/usr/local/inotify/include/"

 

编写翻译安装ocaml,unison信任于ocaml

 

[[email protected] ~]# cd /taokey/tools/ocaml-3.10.2

[[email protected] ocaml-3.10.2]# ./configure

[[email protected] ocaml-3.10.2]# make world opt    

[[email protected] ocaml-3.10.2]# make install

 

编写翻译安装unison,安装信任性包

 

[[email protected] ocaml-3.10.2]# cd ../unison-2.32.52

[[email protected] unison-2.32.52]# yum -y install ctags-etags

[[email protected] unison-2.32.52]# make UISTYLE=text THREADS=true STATIC=true

#UISTYLE=text THREADS=true STATIC=true 代表:使用命令形式,插足线程援助,以静态方式编写翻译

##make install会提醒错误,此错误就是要你cp unison /usr/local/bin,复制就能够

[[email protected] unison-2.32.52]# make install

mv /root/bin//unison /tmp/unison-10576

mv: 无法获得"/root/bin//unison" 的文书状态(stat): 未有非常文件或目录

make: [doinstall] 错误 1 (忽略)

cp unison /root/bin/

cp: 不或许创造普通文书"/root/bin/": 是四个目录

make: *** [doinstall] 错误 1

[[email protected] unison-2.32.52]# cp unison /usr/local/bin

 

2.在vmware2服务器192.168.1.12上,安装上述多个软件包。重复以上安装就能够,步骤此处省略。

 

3.分头在劳动器vmware1(192.168.1.11)和服务器vmware2(192.168.1.12)上生成ssh秘钥对,达成免秘钥登录。

 

192.168.1.11:

[[email protected] ~]# cd .ssh/

[[email protected] .ssh]# touch authorized_keys

[[email protected] .ssh]# cat id_rsa.pub >>authorized_keys

[[email protected] .ssh]# scp authorized_keys 192.168.1.12:/root/.ssh

 

192.168.12:

[[email protected] ~]# cd .ssh/

[[email protected] .ssh]# cat id_rsa.pub 

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvVRA8c9QhTDBTOmbMWlRpQyPor2BOtTOCuPehvpEJdU4pSytLoSQBzQ1TOnbpeX7NSkhGDSTOFT96VdRMBPAF3mdDLg3j7mxPiMo3EDLSdo+kyPk1dVRnmfnplZms2mmFbZZnlRxd5FEgaY3vE/w1mJMMTrpgK+dZd7nOTmIx7QjIwGb5G31G+y7h7LGVpTR/amrJOw2POuzlOQnj2BNNkyGh2uIecBQ+zxNaTzZOoC2SLYPKnsIB5wSycbG5fN0sRMUzuV2R5fFYweb6IJ/2u0zJHhbLQDL9QtPGffb5wS9ZD23fb47HMwY1KPg9Dp7f6v/5vui5u8GPlO5k+aAKQ== [email protected]

 

亟待把vmware2服务器上的id_rsa.pub复制到vmware1服务器上的authorized_keys文件中。

[[email protected] .ssh]# cat authorized_keys 

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvVRA8c9QhTDBTOmbMWlRpQyPor2BOtTOCuPehvpEJdU4pSytLoSQBzQ1TOnbpeX7NSkhGDSTOFT96VdRMBPAF3mdDLg3j7mxPiMo3EDLSdo+kyPk1dVRnmfnplZms2mmFbZZnlRxd5FEgaY3vE/w1mJMMTrpgK+dZd7nOTmIx7QjIwGb5G31G+y7h7LGVpTR/amrJOw2POuzlOQnj2BNNkyGh2uIecBQ+zxNaTzZOoC2SLYPKnsIB5wSycbG5fN0sRMUzuV2R5fFYweb6IJ/2u0zJHhbLQDL9QtPGffb5wS9ZD23fb47HMwY1KPg9Dp7f6v/5vui5u8GPlO5k+aAKQ== [email protected]

 

完了之后,测验一下,是还是不是足防止秘钥登入。

 

[[email protected] ~]# ssh 192.168.1.12

reverse mapping checking getaddrinfo for bogon [192.168.1.12] failed - POSSIBLE BREAK-IN ATTEMPT!

Last login: Tue Sep  9 22:03:33 2014 from 192.168.1.104

[[email protected] ~]#

 

4.创立文件目录,编写脚本,完结多少实时同步。

 

[[email protected] ~]# mkdir -p /var/vm1

[[email protected] ~]# mkdir -p /var/vm2

 

编unison同步的台本进行测量试验。

 

[[email protected] ~]# cat unison-A.sh

#/bin/bash

ipB="192.168.1.11"

srcA="/var/vm1"

dstB="/var/vm2"

/usr/local/inotify/bin/inotifywait -mrq -e create,delete,modify,move $srcA | while read line; do

/usr/local/bin/unison -batch $srcA ssh://$ipB/$dstB

echo -n "$line " >> /var/log/inotify.log

echo `date | cut -d " " -f1-4` >> /var/log/inotify.log

done

[[email protected] ~]# chmod o+x unison-A.sh

[[email protected] ~]# sh unison-A.sh &

 

vmware2服务器上:

 

[[email protected] ~]# cat unison-B.sh 

#/bin/bash

ipA="192.168.1.11"

srcB="/var/vm2"

dstA="/var/vm1"

/usr/local/inotify/bin/inotifywait -mrq -e create,delete,modify,move $srcB | while read line; do

/usr/local/bin/unison -batch $srcB ssh://$ipA/$dstA

echo -n "$line " >> /var/log/inotify.log

echo `date | cut -d " " -f1-4` >> /var/log/inotify.log

done

[[email protected] ~]# sh unison-B.sh &

[1] 10555

 

[[email protected] ~]# cd /var/vm1/

[[email protected] vm1]# ls

a  b  c  test

[[email protected] ~]# cd /var/vm2/

[[email protected] vm2]# ls

a  b  c  test

[[email protected] vm2]# rm -rf test

[[email protected] vm1]# ls

a  b  c

明天做了一个新类型,网址框架结构是前面三个用的nginx反向代理了后端两台tomcat,此时两台tomcat之间的数据...

前言

近日须求开新品类,那么,将要新建多少个svn及网站运转条件了。于是有Lee该小说。
好了,看那篇作品的时候你能够先看看:
等第巨献 - centos+php-fpm+mariaDB+svn+nodejs,配置linux的php和nodejs网址运转条件。
centos配置ocaml及unison进行双向文件同步搭建
【centos】配置postgresql数据库。
【java开采陈设】利用svn及ocaml及unison实行javaweb网址安排

unison的配置

rsync同步文件

tomcat配置要点。

安装说明 
安装环境:CentOS-7.0.1406
安装方式:源码安装 
软件:apache-tomcat-7.0.29.tar.gz 
下载地址:http://tomcat.apache.org/download-70.cgi
安装前提 
系统必须已安装配置JDK6+,安装请参考:在CentOS-6.3中安装与配置JDK-7。
安装tomcat 
将apache-tomcat-7.0.29.tar.gz文件上传到/usr/local中执行以下操作:
代码如下:
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
[root@admin local]# cd /usr/local  
[root@admin local]# wget http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz  
[root@admin local]# tar -zxv -f apache-tomcat-7.0.29.tar.gz // 解压压缩包  
[root@admin local]# rm -rf apache-tomcat-7.0.29.tar.gz // 删除压缩包  
[root@admin local]# mv apache-tomcat-7.0.29 tomcat  
启动Tomcat
执行以下操作:
代码如下:
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
[root@admin ~]# /usr/local/tomcat/bin/startup.sh //启动tomcat  
Using CATALINA_BASE: /usr/local/tomcat  
Using CATALINA_HOME: /usr/local/tomcat  
Using CATALINA_TMPDIR: /usr/local/tomcat/temp  
Using JRE_HOME: /usr/java/jdk1.7.0/jre  
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar  
出现以上信息说明已成功启动。
防火墙开放8080端口
增加8080端口到防火墙配置中,执行以下操作:
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
[root@admin ~]# vi + /etc/sysconfig/iptables  
#增加以下代码
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  
重启防火墙
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
[root@admin java]# service iptables restart  
检验Tomcat安装运行
通过以下地址查看tomcat是否运行正常:
http://192.168.15.231:8080/
看到tomcat系统界面,说明安装成功!
停止Tomcat
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
[root@admin ~]#  /usr/local/tomcat/bin/shutdown.sh   //停止tomcat  

先是步、配置svn中的nodejs项目骨架

创立nodejs的项目标步子为:
1 创设代码货仓
2 设定钩子–post-commit达到机关同步到网址目录的机能
3 设定nginx的子网址配置文件,开放相关端口
4 测验是或不是成功

必要专心的是,使用的是nodejs的express框架,必要在app.js里面设定使用的端口。这里运用预先采纳的端口为:3007

此处有相关安装:
此地写链接内容

连锁命令

这里将项目名称暂定为blue-hat
sudo mkdir -p /var/svn/blue-hat
sudo svnadmin create /var/svn/blue-hat
sudo vim /var/svn/blue-hat/conf/svnserve.conf
sudo vim /var/svn/blue-hat/conf/passwd
sudo vim /var/svn/blue-hat/conf/authz
sudo systemctl restart svnserve

小心,请依据仿照效法资料一步一步成功布局,这里不啰嗦了。接下来,给项目增进五个应和的web运维目录,该目录路线始于定为:/usr/local/webroot/blue-hat

/usr/local/webroot/blue-hat

mkdir -p /usr/local/webroot/blue-hat
svn checkout svn://localhost/blue-hat /usr/local/webroot/blue-hat --username testuser --password abc --non-interactive

添加post commit

cd /var/svn/blue-hat/hooks
cp post-commit.tmpl post-commit
chmod +x post-commit
vi post-commit

这么改过

#!/bin/sh

# 库的路径
REPOS="$1"
# 新提交的版本号
REV="$2"

WEB=/usr/local/webroot/blue-hat
SVN=/usr/bin/svn
LOG=/usr/local/webroot/auto_svn.log


export LC_ALL=zh_CN.UTF-8

changed=$(svnlook changed -r $REV $REPOS)
log=$(svnlook log -r $REV $REPOS)
echo "now the changed is:$changed">>$LOG

n=$'n'
$SVN update $WEB  --username testuser --password abc --non-interactive #更新到我们的目标网站目录。

重启svn

接下去正是svn的上传下载了

瞩目,开荒条件不必要配置nginx+express

配置postgres数据库

略,请自行用脚本实行配置

提醒,数据库的备份还原迁移都以必须求精晓的。

配置java项目的svn

这里将项目名称暂定为blue-hat-server
sudo mkdir -p /var/svn/blue-hat-server
sudo svnadmin create /var/svn/blue-hat-server
sudo vim /var/svn/blue-hat-server/conf/svnserve.conf
sudo vim /var/svn/blue-hat-server/conf/passwd
sudo vim /var/svn/blue-hat-server/conf/authz
sudo systemctl restart svnserve

专心,这里并不是配置post 钩子。因为源代码不得以平素试行的。

布局java项目标编写翻译文件贮存目录

请细心,java编写翻译今后放到一个输出目录,然后输出svn目录,然后将编写翻译好的文书更新到线上,重启tomcat服务器。

这里将项目名称暂定为blue-hat-build
sudo mkdir -p /var/svn/blue-hat-build
sudo svnadmin create /var/svn/blue-hat-build
sudo vim /var/svn/blue-hat-build/conf/svnserve.conf
sudo vim /var/svn/blue-hat-build/conf/passwd
sudo vim /var/svn/blue-hat-build/conf/authz
sudo systemctl restart svnserve

配备相关web 目录。

mkdir -p /usr/local/webroot/blue-hat-build
svn checkout svn://localhost/blue-hat-build /usr/local/webroot/blue-hat-build --username testuser --password abc --non-interactive

接下来我们要修改hook脚本的post commit, 
首先先将post-coomit.tmpl复制一份成为post-commit, 
svn每次更新完以后将会执行post-commit脚本 
然后给脚本执行权限,接下来将脚本内容添加进去–就是下面的脚本例子了。 
然后保存,再重启svn服务,然后测试是否成功。

cd /var/svn/blue-hat-build/hooks
cp post-commit.tmpl post-commit
chmod +x post-commit
vi post-commit

#!/bin/sh

# 库的路径
REPOS="$1"
# 新提交的版本号
REV="$2"

WEB=/usr/local/webroot/blue-hat-build
SVN=/usr/bin/svn
LOG=/usr/local/webroot/auto_svn.log


export LC_ALL=zh_CN.UTF-8

changed=$(svnlook changed -r $REV $REPOS)
log=$(svnlook log -r $REV $REPOS)
echo "now the changed is:$changed">>$LOG

n=$'n'
$SVN update $WEB  --username testuser --password abc --non-interactive #更新到我们的目标网站目录。


0


0

翻开商议

前言 最近内需开新品类,那么,将在新建三个svn及网站...

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于金沙澳门登陆网站,转载请注明出处:【金沙澳门登陆网站】新项目开发及运行环境配