项目配置 Linux Python
项目配置 Linux Python
标签(空格分隔): Linux Python env IP 项目 db2
已配置项目
lqr
maftp
lirp
配置 基础文件
IP统一配置
TODO:测试可用,无异常,代码不够简洁
TP配置流程: root --> 用户 --> 前端/后端
- 1.配置全局root变量base_ip
# 设置全局变量 /etc/profile
vim /etc/profile 末尾添加需要设为全局的变量例如:
export base_ip=172.10.21.104
- 2.配置用户全局变量
os.environ[“base_ip”] # 读取变量
# root用户或者其他用户(其他用户需要重新切用户)获取变量
import os
print os.environ["base_ip"] # 读取变量
# 也可以在用户.base_profile 中直接base_ip=xxx.xxx.xxx.xxx 设用户全局变量
- 3.前端IP自动配置
# 前台IP在 /assets/scripts/application.js中
# 设定IP如下
//base_url = 'http://172.10.21.118:3061';
//rpt_base_url = 'http://172.10.21.118:3062';
base_url = 'http://'+ window.location.hostname +':3061';
rpt_base_url = 'http://'+ window.location.hostname +':3062';
# window.location 获取主机url的参数
- 4.后端serverIP自动配置
# database/sqlal.py
import os
URL ='ibm_db_sa://lqr:qwe123@' + os.environ["base_ip"] + ':50000/dwdb'
# 同js,但是不能使用window.location,直接赋值
- SqsIP配置
# 由于URL在config_report.json文件中,不知道怎么传递全局变量到json文件中。所以在调用这个json文件的config.py中处理
# 流程: config.py (ip_replace.py --> 替换ip_config_report.json中指定字符串为base_ip变量 -->得到config_report.json --> config.py处理这个json)
# ip_config_report.json文件和config_report.json一样,仅仅只是IP部分变成了被替代字符串,在每次运行时,替换字符串为IP变量,输出文件到config_report.json。即可
file:ip_replace.py
#!/usr/bin/python
# -*- coding=UTF-8 -*-
import sys
import os
len_argv=len(sys.argv)
#print '传参数量',len_argv-1
if len_argv < 4:
print '参数错误:python '+sys.argv[0]+' 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]'
elif len_argv > 5:
print '参数错误:python '+sys.argv[0]+' 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]'
else:
if not os.path.isfile(sys.argv[1]):
print '文件不存在'
sys.exit()
s_file = file(sys.argv[1],'r+')
old_str = sys.argv[2]
new_str = sys.argv[3]
d_file = file(sys.argv[1]+'.tmp','w')
for line in s_file.readlines():
d_file.writelines(line.replace(old_str,new_str))
s_file.close()
d_file.close()
if len_argv == 4:
os.rename(sys.argv[1]+'.tmp',sys.argv[1])
else:
os.rename(sys.argv[1]+'.tmp',sys.argv[4])
# http://www.cnblogs.com/www1707/p/5858212.html
config.py中部分代码
import os
base_ip=os.environ["base_ip"]
os.system("""python ip_replace.py {0} {1} {2} {3} """.format('ip_config_report.json','\$base_ip',base_ip,'config_report.json'))
ip_config_report.json中部分代码
"DB_URI":"ibm_db_sa://lqr:qwe123@$base_ip:50000/dwdb",
"THS_URI":"ibm_db_sa://xc_find:qwe123@$base_ip:50000/dwdb",
"DWDB_URI":"ibm_db_sa://xcdw:qwe123@$base_ip:50000/dwdb",
db2配置
db2开机自启
root用户下 .base_profile中
su - db2inst1 -lc db2start # db2 autostart
# 不能使用su - db2inst1 然后db2start,因为切换用户后,之后的命令都无法执行需要 -lc指定
在启动文件中加入命令 su -u db2inst1 -c db2start
或
实例用户下,执行db2fm -f on
ERROR
from openpyxl.cell import column_index_from_string
ImportError: cannot import name column_index_from_string
解决方法:openpyxl 安装不完全
用openpyxl-2.3.3.tar.gz安装,而不是联网或者whl安装