1.安装lnmp环境

具体参考:CentOS6.5编译安装Nginx1.8.1+MySQL5.5.48+PHP5.2.17+xcache3.2+ZendOptimizer-3.3.9

http://blog.csdn.net/reblue520/article/details/51098590





2.上传MYOA到/web/htdocs目录下





3.修改对应的php.ini,nginx.conf和oa_config.php





php.ini文件修改:

1.allow_call_time_pass_reference = on

2.register_globals = on

3.register_argc_argv = off

4.include_path = ".:/web/htdocs/MYOA/webroot"





oa_config.php:





if($ROOT_PATH=="")

//$ROOT_PATH="d:/myoa/webroot/";

$ROOT_PATH="/web/htdocs/MYOA/webroot/";





//-- 网页根目录配置(IIS:手工配置) --

//$ROOT_PATH="d:/myoa/webroot/";





if(substr($ROOT_PATH,-1)!="/")

$ROOT_PATH.="/";





//-- 附件路径配置(Windows) --

//$ATTACH_PATH=$ROOT_PATH."attachment/";

//$ATTACH_PATH2=realpath($ROOT_PATH."../")."/attach/";





//-- 附件路径配置(Unix/Linux) --

//$ATTACH_PATH="/myoa/attachment/";

//$ATTACH_PATH2="/myoa/attach/";

$ATTACH_PATH="/web/htdocs/MYOA/attachment/";

$ATTACH_PATH2="/web/htdocs/MYOA/attach/";





//-- MYOA数据库配置 --

$MYSQL_SERVER="localhost:3336";

$MYSQL_USER="root";

$MYSQL_DB="TD_OA";

$MYSQL_PASS="pass";





4.优化各组件(xcache,mysql,nginx)压力测试





# chown -R nginx.nginx /web/

# chown -R mysql.mysql /data





5.配置数据库读写分离

数据库TD_OA上传到/data/mydata目录下





6.测试





流程的验证:

可以发起修改js后的流程(模拟其中一个一样的流程,是否最终一致)





数据库安装后

需要查看

open_files_limit参数是否设置的足够

mysql > show variables like '%open_files_limit%';

也可以在My.cnf中添加参数

open_files_limit=65535  

否则报错如下:

错误#23: Out of resources when opening file './TD_OA/USER.MYD' (Errcode: 24)

SQL语句: SELECT * from USER where USER_ID='admin' or BYNAME='admin'





同时修改/etc/security/limits.conf,然后加入以下内容,退出再重新登陆即可(不需要重启,退出当前的连接shell即可)

# ulimit -n 查看参数是否生效





* hard nofile 65535

* soft nofile 65535





7.修改附件目录权限

chmod -R 777 /web/htdocs/MYOA/attach



安装本地锁,防止有人在机房直接访问机器进行恶意操作

# yum install -y vlock





8.修改系统回收session的时间和几率

vi /opt/lampp/etc/php.ini

session.gc_maxlifetime = 900(默认为36000秒10个小时)

session_gc_probaility=5 (默认为1,修改为5增加回收垃圾文件的概率)





9.与门户单点登录文件上传、考试模块文件上传、attendance包含考勤系统文件上传、插件turn文件夹上传、general/010user_status用户状态文件

考试模块MYOA/webroot/general/exam_manage





Warning: Cannot modify header information - headers already sent by (output started at D:\MYOA\webroot\sso\config.php:1) in D:\MYOA\webroot\router.php on line 263

修改php.ini文件output_buffering选项由off改为on





安装phpmyadmin,备用(修复mysql时有用)





10、二次开发文件上传

1.JS文件上传(webroot\inc\js\custom文件上传)

2.自动计划任务上传(webroot\widget)

3.PHP插件上传(F:\23620131125\webroot\general\workflow\plugin\turn)

***4.会议室附件页面关闭(信息安全)

D:\MYOA\webroot\general\meeting\apply\new.php





11、如果有多台web服务器负载均衡需要对附件进行同步

MYOA\attach





后续优化方向:

1、根据mysqltuner.pl优化mysql

2、升级mysql为5.5

3、可以考虑将默认的Myisam引擎更换为innodb





1.强制合并功能有问题,强制合并只能用在发起所有的并发步骤并且所有分发的步骤都走到了强制和并处

解决办法:

将/opt/lampp/htdocs/MYOA/webroot/general/workflow/list/turn目录下的table_str.php、turn_next.php、turn_next_free.php三个文件更新为之前版本即可





2.管理员制作流程插入表格的项是乱码(暂时无法解决,可以直接通过html代码编辑)





3.在线人数头像不能点亮(如果点组织只显示管理员在线,暂时无法解决,不影响正常使用可以忽略)





4.部门无法自动更新

组织机构管理:

分析:a.部门管理负责将新建的部门写入deparment表中b.用户管理负责显示部门和人员,信息来自deparment.php(通过分析php源码可以得知所有的部门信息列表都来自deparment.php文件)





解决办法:





方法1

1.在windows环境的web端添加、修改部门信息确认信息正确

2.将windows下生成的department.php覆盖linux环境中的文件





方法2

1.在部门管理里面添加需要添加的部门(如果不行修改数据库,先测试)

2.修改/opt/lampp/htdocs/MYOA/webroot/inc/department.php,添加类似内容





①备份

cd /opt/lampp/htdocs/MYOA/webroot/inc/

cp department.php department.php.bak









"1139" => array("DEPT_NAME" => "重点项目办", "DEPT_PARENT" => 644, "DEPT_NO" => "04", "DEPT_LEVEL" => 3, "DEPT_LONG_NAME" => "HW-LOB/运营商软件 DUG/重点项目办", 

"DEPT_LINE" => "││├"),

"1142" => array("DEPT_NAME" => "重点项目办交付部", "DEPT_PARENT" => 1139, "DEPT_NO" => "13", "DEPT_LEVEL" => 4, "DEPT_LONG_NAME" => "HW-LOB/运营商软件 DUG/重点项目办/

重点项目办交付部", "DEPT_LINE" => "│││└"),





5.OA系统发布的废弃通知删除以后还在门户里面显示

解决办法:

①删除OA里面的通知

②删除ics_notify里面的数据(相当于删除推送给门户视图的数据ics_notify_view)

③删除31.14数据库中的数据





网络结构

操作系统

程序本身





针对网络的安全:

1.将服务器部署在内网,并且只开放web80端口访问

2.提交运行的情况下部署防火墙设备





针对操作系统的安全:

1.最小系统安装法(只安装必须的软件,不安装桌面保证安全的同事也能提升系统性能)

2.最少软件、服务法(最少的服务等与最大的安全)





程序本身:

1.将软件本身的补丁打全

2.采用web和数据库分离的部署方式,数据库不允许外网直接访问





修改配置文件

1.编辑/opt/lampp/etc/httpd.conf

修改 Options Indexes FollowSymLinks ExecCGI Includes

为Options FollowSymLinks Includes





2.隐藏apache版本相关信息 (错误页面)

添加到httpd.conf文件结尾即可:





ServerSignature Off

ServerTokens Prod





3.关闭PHP敏感函数vi /opt/lampp/etc/php.ini

disable_functions = exec,shell_exec,system,passthru,proc_open,show_source,phpinfo





4.在htdocs下,新建一个 robots.txt 文件来屏蔽所有的搜索引擎

cd /web/htdocs

touch robots.txt

通达OA2008优化前端web为lnmp环境及后续优化的更多相关文章

  1. lnmp环境搭建后续-php安装

    安装PHP7: 下载# wget http://PHP.net/get/php-7.0.2.tar.gz/from/a/mirror 建议安装之前先看看安装帮助文件INSTALL 解压安装 # tar ...

  2. 记一次“愉快”的lnmp环境的搭建

    愉快的lnmp环境搭建 后续更新 几个笔记记录 yum remove php-mysql yum -y install cmake autoconf wget gcc-c++ gcc zlib pcr ...

  3. 通达OA2008从windows环境移植到linux部署手册

    通达OA2008从windows环境移植到linux中(centos5.5及以上版本) OA系统拓扑图: 环境搭建(安装lamp环境) 1.安装xampp集成lamp包xampp-linux-1.6. ...

  4. LNMP环境并发优化

    LNMP环境并发优化 服务器 8核32Gx3 如图是一条http请求的生命周期,共经过nginx,php-fpm,PHP三个模块 所以我们可以从nginx,php-fpm,PHP三个维度去优化 一.p ...

  5. 在Raspberry配置优化安装LNMP环境总结

    在Raspberry配置优化安装LNMP环境总结 apt-get update apt-get install nginx apt-get install php5-fpm php5-cli php5 ...

  6. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  7. LNMP环境搭建:Nginx安装、测试与域名配置

    Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件 2.编译安装Nginx (1)安装Nginx依赖函数库pcre pcre为“perl兼容正则表达 ...

  8. 阿里云ECS安装lnmp环境-转载自:http://ninghao.net/blog/1368

    远程控制你的服务器 远程控制 Linux 类型的系统的服务器,比如 CentOS 系统的服务器,一般不像 Windows 服务器那样,使用图形界面的远程控制.我们需要使用命令行工具,远程连接到服务器, ...

  9. 阿里云(ECS)Centos服务器LNMP环境搭建

    阿里云( ECS ) Centos7 服务器 LNMP 环境搭建 前言 第一次接触阿里云是大四的时候,当时在校外公司做兼职,关于智能家居项目的,话说当时俺就只有一个月左右的 php 后台开发经验(还是 ...

随机推荐

  1. A1053. Path of Equal Weight

    Given a non-empty tree with root R, and with weight Wi assigned to each tree node Ti. The weight of ...

  2. 初探angular2

    Angular2 是一款开源JavaScript库,由Google维护,用来协助单一页面应用程序运行. Angular2 是 Angular 1.x 的升级版本,性能上得到显著的提高,能很好的支持 W ...

  3. Codeforces Round #419 (Div. 2)(B)差分数组

    传送门:Problem B https://www.cnblogs.com/violet-acmer/p/9721160.html 题意: Karen有n个关于煮咖啡的食谱,每个食谱都有个煮咖啡的最适 ...

  4. 洛谷【P1523】旅行商的背包(算法导论 15-1) 题解

    P1523 旅行商简化版 题目背景 欧几里德旅行商\((Euclidean Traveling Salesman)\)问题也就是货郎担问题一直是困扰全世界数学家.计算机学家的著名问题.现有的算法都没有 ...

  5. XMind 入门教程

    选自:http://www.xmindchina.net/ XMind 是一款非常实用的商业思维导图软件,应用全球最先进的Eclipse RCP 软件架构,全力打造易用.高效的可视化思维软件.对于新手 ...

  6. ElasticSearch 之 dis_max tie_break的应用

    1. 插入数据 PUT /my_index/my_type/ { "title": "Quick brown rabbits", "body" ...

  7. Java 搜索引擎

    1.Java 全文搜索引擎框架 Lucene 毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎.Luc ...

  8. 对entry-common.S和call.S的部分理解1

    内核版本: linux-2.6.30.4 文件: linux-2.6.30.4/arch/arm/kernel/entry-common.S linux-2.6.30.4/arch/arm/kerne ...

  9. Swift学习笔记6

    1.用类型检查操作符(is)来检查一个实例是否属于特定子类型.若实例属于那个子类型,类型检查操作符返回 true,否则返回 false. 2.某类型的一个常量或变量可能在幕后实际上属于一个子类.当确定 ...

  10. C# 中对于json的解析小结

    1.解析之前的json格式 [{ "Name": "冯111", "PID": "130627199202283306" ...