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. A1055. The World's Richest

    Forbes magazine publishes every year its list of billionaires based on the annual ranking of the wor ...

  2. pascal与其它语言代码书写的不同和pascal的快捷键

    1.把很多简单语句括起来 begin end; 2.开始,结束 begin end. 3.判断if if (布尔表达式) then begin 语句 end  //没有‘:’ else if () b ...

  3. java 中自定义类的概述

    作业: 描述商品类 Goods 4个属性 商品名字 大小 价格 库存 把商品类放进集合中 小米品牌 大小 价格 库存的数量 都存集合 华为..... 魅族 public class Goods{ St ...

  4. 7.14 Git 工具 - 凭证存储

    凭证存储 如果你使用的是 SSH 方式连接远端,并且设置了一个没有口令的密钥,这样就可以在不输入用户名和密码的情况下安全地传输数据. 然而,这对 HTTP 协议来说是不可能的 —— 每一个连接都是需要 ...

  5. CentOS 6.5 升级内核

    Docker需要3.10以上内核支持,Centos6.5 默认内核为2.6.所以手动编译安装3.10内核. 查看当前系统内核版本 [root@gu ~]# uname -r2.6.32-431.el6 ...

  6. GO语言的进阶之路-Golang高级数据结构定义

    GO语言的进阶之路-Golang高级数据结构定义 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们之前学习过Golang的基本数据类型,字符串和byte,以及rune也有所了解, ...

  7. #js window.open() 父窗口与子窗口的互相调用【转】

    未完整版 javascript 父窗口与子窗口的互相调用 a.html 父页面 <HTML> <HEAD> <meta http-equiv="content- ...

  8. C# CEF 封装UserControl

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...

  9. C# cmd调用外部命令

    void test2() { Process process = new Process(); //C:\\Users\\Administrator\\Desktop\\ffmpeg\\bin\\ff ...

  10. QSS-qt样式表

    QSS即Qt StyleSheet(Qt样式表)的简称,是一种用来自定义控件外观的强大机制,QSS可以让我们的程序界面更加漂亮 每条QSS样式都由两部分组成:1. 选择器,该部分指定要美化的控件  2 ...