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. Python数据类型(字典和集合)

    1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...

  2. java web 使用maven打包绕过单元测试

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-suref ...

  3. Qsort(c)_Sort(c++)用法

    Sort函数(c) (来自codeblocks) stdlib.h _CRTIMP void __cdecl qsort(void*, size_t, size_t, int (*)(const vo ...

  4. 13 款高逼格且实用的 Linux 运维必备工具

    转载于民工哥技术之路 1. 查看进程占用带宽情况 - Nethogs Nethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽. 下载:http://sourceforge.ne ...

  5. 关于连接linux被拒

    一.scp被拒 在服务器A命令行使用scp往服务器B传输,如: scp -i id_rsa_125 file1 user01@IP:/home #ssh_exchange_identification ...

  6. 学习windows编程 day5 之按键消息

    case WM_KEYDOWN://带sys的按键消息大多是系统需要自己处理的,我们一般不需要,默认处理 //wParam 指定按键的虚拟键代码 //lParam 指定技术,扫描码,闲钱状态,转换状态 ...

  7. spring-data-jpa初步认识

    什么是spring data jpa? spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的[方法命名规则]写dao层接口,就可以在不写接口实现的情况下,实现对数据 ...

  8. 【DS】排序算法的稳定性

    主要的排序算法有八种:直接插入排序,希尔排序(这两种统称为插入排序),冒泡排序,快速排序(这两种统称为交换排序),直接选择排序,堆排序(这两种统称为选择排序),归并排序,基数排序.今天我们就讨论一下它 ...

  9. (零)SQL server安装配置

    ( 这里附加一个破解码: YFC4R-BRRWB-TVP9Y-6WJQ9-MCJQ7 ) (不选择) (默认实例,还有不建议安装在根目录下,可以安装到D盘之类的) (添加当前用户) (都选择仅安装) ...

  10. 从池子里的beta看秋香, 个性迥异

    从池子里的beta看秋香, 个性迥异 前文里那十只个股为例, 统计了它们的beta值. 回顾如下: Num name code Beta 0 深圳燃气 601139 0.710 公用事业 1 分众传媒 ...