linux服务器部署web项目环境搭建-完整版

一、连接服务器

使用工具:XShell(远程连接centos的工具,也可使用secureCRT绿色版和WinSCP工具)。
在这里插入图片描述

二、安装JDK

第一步:下载JDK

下载centos版本JDK,下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
在这里插入图片描述
查看自己的centos信息,输入命令uname -a,即可获取自己centos的版本信息,下载对应的JDK
在这里插入图片描述

第二步:JDK上传到服务器

上传文件到服务器可使用工具Xftp6,也可以在xshell使用命令上传文件,这里使用命令上传文件。
输入命令:rz(传输JDK压缩包到linux服务器,压缩包导入的位置就是执行rz命令所在的路径下,可以新建一个文件夹,进入该文件夹再执行rz命令)
rz命令上传文件
命令拓展:
新建文件夹命令:mkdir name
进入文件夹命令:cd /name
删除文件夹命令:rm –rf name
查看是否传输成功,输入命令:ls,(该命令是查看当前路径下的文件)
在这里插入图片描述

第三步:解压jdk

解压,输入命令:tar –axvf jdk-8u11-linux-x64.tar.gz
解压完成后,可以使用命令:ls,继续查询该目录下所有的文件,可以看到多了一个jdk开头的文件,证明解压成功。
可以修改名字,输入命令: mv jdk1.8.0_11 jdk1.8 (可以不修改,简单的名字只是方便配置环境变量)。

第四步:配置环境变量

配置环境变量,需要修改路径:/etc/profile文件。
命令:vi /etc/profile
回车,进入profile文件,按i键进入编辑状态,出现INSERT,说明进入了编辑状态。移动光标,在文件末尾处添加如下内容:
在这里插入图片描述
编辑完成后,按ESC键,再输入命令:wq;编辑保存并退出。(如果不想保存,输入命令q!,强制退出)。
使配置文件生效,输入命令: source profile
检查jdk,输入命令:java –version,如果出现以下页面,说明jdk,配置成功.。
在这里插入图片描述

安装tomcat

第一步:下载tomcat

下载tomcat,地址:http://tomcat.apache.org/
在这里插入图片描述

第二步:tomcat上传到服务器

同安装JDK第二步

第三步:解压tomcat

同安装JDK第三步

第四步:配置环境变量

同样是在 /etc/profile里配置tomcat的环境变量,
输入命令:vi /etc/profile,
i 键,
在末尾添加:

export TOMCAT_HOME=/soft/apache-tomcat-8.5.20(自己tomcat路径)
export CATALINA_HOME=/soft/apache-tomcat-8.5.20

ESC键,输入 :wq 保存提出,

第五步:启动tomcat

两种方式启动:
<1> ./startup.sh 这种方式没有日志,但是可以后台运行Tomcat
<2>./startup.sh; tailf ../logs/catalina.out 这种方式启动tomcat,会有日志,一般在开发环境下使用
在浏览器中输入:http://IP地址:8080

第六步:开放端口

如果访问不到,有可能是防火墙的问题,需要设置:
将端口8080加入到防火墙中输入命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
更新防火墙规则输入命令:firewall-cmd --reload
查看防火墙中已打开的端口输入命令:firewall-cmd --zone=public --list-ports

第七步:修改tomcat端口

有时可能需要其他端口或安装多个tomcat,就需要修改端口。
进入tomcat 的conf路径下,修改server.xml文件:
输入命令:vi server.xml
(1): 找到 将端口号改为7083(这个端口号随便写,不要和其他端口号冲突,并且取端口号时最好有规律)。
(2): 找到 将端口号改为8088。

四、安装msyql

在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

第一步:下载并安装MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

yum -y install mysql57-community-release-el7-10.noarch.rpm

下面就是使用yum安装MySQL了

yum -y install mysql-community-server

这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。
在这里插入图片描述

出现上面这样的提示表示安装成功
注意:
在这里插入图片描述

第二步:MySQL数据库设置

首先启动MySQL

systemctl start  mysqld.service 或service mysqld start

查看MySQL运行状态,运行状态如下图:或

systemctl status mysqld.service

在这里插入图片描述

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

grep "password" /var/log/mysqld.log

在这里插入图片描述
上面标记的就是初始密码
如下命令进入数据库:mysql -uroot -p
# 回车后会提示输入密码
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'z?guwrBhH7p>';

 ALTER USER 'root'@'localhost' IDENTIFIED BY '123' PASSWORD EXPIRE NEVER;
flush privileges; ##命令生效

这里有个问题,新密码设置的时候如果设置的过于简单会报错:
在这里插入图片描述
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:
在这里插入图片描述
密码的长度是由validate_password_length决定的解决方法就是修改密码为规范复杂的密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'z?guwrBhH7p>';

在这里插入图片描述
这时候我们要把密码规则改一下,执行下面sql就可以了:

set global validate_password_policy=0;
set global validate_password_policy=LOW; 
set global validate_password_length=1;

设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。
重新修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';

但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

yum -y remove mysql57-community-release-el7-10.noarch

配置算是完成了

第三步:可视化工具的登录授权:(如果授权不成功,请查看防火墙)

操作完成上面的,现在还不能用可视化的客户端进行连接,需要我们进行授权:

grant all on *.* to root@'%' identified by 'arp@123';

配置完成

卸载mysql

一、关闭Mysql服务
命令:service mysql stop
二、使用 rpm 命令的方式查看已安装的mysql
命令:rpm -qa|grep mysql
三、使用yum安装的Mysql需要先进行清除
命令:yum remove mysql mysql-server mysql-libs mysql-server
四、再次查询是否有剩余文件
命令:rpm -qa|grep mysql
五、使用过rpm -ev +对应文件名 删除剩余文件 命令:

rpm -ev mysql57-community-release-el7-10.noarch
rpm -ev mysql-community-common-5.7.28-1.el7.x86_64

五、安装oracle11g

后续更新

第二步:上传文件到服务器或虚拟机的

第二步:上传文件到服务器或虚拟机的

第三步:解压文件到当前目录

第四步:安装Oracle 11g依赖包

第五步:添加安装用户和用户组

第六步:修改内核参数配置文件

第七步:修改用户的限制文件

第八步:创建安装目录和设置文件权限

第九步:设置oracle用户环境变量

第十步:编辑静默安装响应文件

第十一步:根据响应文件静默安装Oracle11g

第十二步:以静默方式配置监听

第十三步:以静默方式建立新库,同时也建立一个对应的实例

六、Nginx

后续更新

1.Nginx安装

2.安装配置多个tomcat

3.nginx负载均衡

七、部署Web项目

将WEb项目打包成war文件传输到对应的tomcat的/webapps中
重新启动tomcat即可
报错的信息都在tomcat的logs日志文件中,我们要学会看logs日志文件,解决错误

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
非常实用 持之以恒才是王道! 8-11 1.html介绍 html运行原理① 8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3.符号实体 url说明 超链接 发送电邮 8-11 4.图像 表格 实际应用-菜谱 课堂练习-课程表 8-11 5.无序列表 有序列表 框架 8-12 1.浮动窗口 表单及表单控件① 8-12 2.表单及表单控件② 8-12 3.多媒体页面 标签汇总① 地图映射1 8-12 4.多媒体页面 标签汇总① 地图映射2 8-12 5.多媒体页面 标签汇总① 地图映射3 8-12 6.多标签汇总② 线包字效果 测试题 8-13 1.div+css开山篇 8-13 2.初识css 类选择器 id选择器 html选择器 8-13 3.通配符选择器 父子选择器 8-13 4.选择器使用细节 块元素?托心谠? 盒子模型 盒子模型经典应用① 8-13 5.盒子模型经典应用② 作业布置 8-15 1.div+css作业评讲① 8-15 2.div+css作业评讲② 8-15 3.div+css作业评讲③ 8-15 4.浮动 8-15 5.网站推荐 定位 8-15 6.仿sohu首页面布局 可爱屋首页面 8-16 1.动态网页技术介绍 php基本介绍 8-16 2.php快速入门 bs和cs介绍 8-16 3.web服务器介绍 apache服务器安装 8-16 4.apache服务器使用及配置① 启动和停止 端口配置 8-16 5.apache服务器使用及配置② apache目录结构 8-16 6.apache服务器使用及配置③ apache虚拟目录 8-17 1.apache服务器使用及配置④ apache虚拟主机 web访问时序图 8-17 2.apache服务器使用及配置⑤ 作业点评 提出apache和php整合的需求 8-17 3.php开发环境的搭建和使用① appserv套件安装 8-17 4.php开发环境的搭建和使用② 自定义安装 8-17 5.php开发环境的搭建和使用③ 安装并配置discuz论坛 8-19 1.解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② 比较运算符 逻辑运算符 8-20 1.三元运算符 类型运算符 运算符优先级 8-20 2.顺序控制 分支控制(if ifelse switch) 程序流程图 8-20 3.循环控制①(for) 8-20 4.循环控制②(while dowhile) 打印金字塔案例 8-20 5.打印金字塔案例评讲 布置练习题 8-22 1.break语句 continue语句 常量 8-22 2.函数基本概念 函数快速入门 8-22 3.函数使用函数调用初步理解 8-22 4.函数调用深入理解 函数使用注意事项① 8-22 5.函数使用注意事项② 函数作业布 8-23 1.函数再回顾 自定义函数 8-23 2.位运算① 8-23 3.位运算② 8-23 4.数组介绍 数组的创建 ?榈谋槔? 8-23 5.数组的引用 数组使用细节① 8-23 6.数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2.选择排序 插入排序 快速排序 8-24 3.选择排序 插入排序 快速排序 8-24 4.顺序查找 二分查找 8-24 5.多维数组 数组作业评讲② 8-24 6.数组作业评讲③ 8-24 7.类与对象的基本概念 8-26 1.成员属性 如何创建对象 8-26 2.对象在内存中存在形式 函数传递对象方式 8-26 3.函数传递基本数据类型和数组方式 成员方法① 8-26 4.成员方法② 8-26 5.作业评讲 8-27 mysql1 8-27 mysql2 8-28 1.mysql 8-28 2.mysql 8-28 3.mysql 8-28 4.mysql 8-28 5.mysql 8-28 6.mysql 8-30 1.mysql 8-30 2.mysql 8-30 3.mysql 8-30 4.mysql 8-30 5.mysql 8-31 1 8-31 2.外键、索引 8-31 3.事务处理 8-31 4 8-31 5 8-31 6 9-10 1.回顾 9-10 2.错误和异常处理介绍 处理错误方式①-die 9-10 3.处理错误方式②-错误处理器 错误级别 处理错误方式③-错误触发器 9-10 4.php错误日志 9-10 5.php异常处理 9-10 6.php进阶预热篇-php执行流程时序图 9-10 7.http协议深度剖析①-http请求详解 防盗链技术 9-13 0.回顾 9-13 1.http协议深度剖析②-http响应详解(302 304码运用) 9-13 2.http协议深度剖析③-http响应详解(禁用缓存设置) 9-13 3.http协议深度剖析④-http响应详解(文件下载) 9-13 4.http协议深度剖析⑤-http响应详解(作业评讲) 9-13 5.php数据库编程①-使用mysql扩展库 9-13 6.php数据库编程②-使用mysql扩展库 9-13 7.php数据库编程③-使用mysql扩展库 9-14 1.回顾 9-14 2.php数据库编程④-使用mysql扩展库(在线词典案例) 9-14 3.php数据库编程⑤-使用mysql扩展库(在线词典案例) 9-14 4.php数据库编程⑥-使用mysqli扩展库 9-14 5.php数据库编程⑦-使用mysqli扩展库 9-14 6.php数据库编程⑧-使用mysqli扩展库(布置练习) 9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 4.预定义超全局数组①-原理分析 $_GET 9-17 5.预定义超全局数组②-$_POST $_REQUEST 9-17 6.预定义超全局数组③-$_SERVER $_ENV $GLOBALS 9-17 7.zend studio使用 项目开发五个阶段 雇员管理系统① 9-19 1.回顾 9-19 2.雇员管理系统②-model1模式简单登录 9-19 3.雇员管理系统③-model1模式数据库登录 9-19 4.雇员管理系统④-model1模式雇员分页 9-19 5.雇员管理系统⑤-分层模式管理员登录 9-20 1.回顾 9-20 2.雇员管理系统⑥-分层模式雇员分页 9-20 3.雇员管理系统⑦-分层模式整体翻页 9-20 4.雇员管理系统⑧-分层模式通用分页模块 9-20 5.雇员管理系统⑨-mvc模式介绍 9-21 1.回顾 9-21 2.mvc模式①-用mvc模式改进网站结构 9-21 3.mvc模式②-用mvc模式改进网站结构 9-21 4.cookie①-cookie原理介绍 创建cookie 获取cookie 9-21 5.cookie②-更新cookie 删除cookie cookie运用案例 9-21 6.cookie③-雇员管理系统使用cookie技术 1.显示上传登录时间2.保留登录id 9-23 1回顾 9-23 2.session①-session原理介绍 保存session 9-23 3.session②-获取session 更新session 删除session session细节和原理深入讨 9-23 4.session③-购物车 cookie禁用后如何使用session session防用户非法登录 9-23 5.session④-验证码防恶意攻击 9-23 6.session⑤-session配置 session的gc机制 自定义session处理器 9-24 0.回顾 9-24 1.回顾2 9-24 2.php文件编程①-文件操作原理 如何获取文件信息 如何读文件 9-24 3.php文件编程②-如何写文件 拷贝文件 创建和删除(文件夹、文件) 9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 9-26 2 javascript基本介绍 9-26 3 javascript变量 标识符规范 9-26 4 javascript数据类型三大类型 9-26 5 javascript算术运算符及位运算 9-26 6 javascript三大流程控制 9-27 1 课程回顾 9-27 2 循环控制 金字塔的输出 9-27 3 循环控制 js的调试方法 9-27 4 函的数定义分类及使用 9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1课程回顾 9-28 2 二维数组的定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript面向对象编程 9-28 5 javascript对象存在形式 9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽兄弟游戏制作 9-30 4 构造方法 对象的常用操作 9-30 5 面向对象的封装 继承 多态 9-30 6 面向对象的封装 继承 多态2 9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 引用实体 参数实体 ide开发xml 9-5 5.php xml编程⑤-复杂的dtd综合练习 9-5 6.php xml编程⑥-dom基本概念 phpdom编程(1) 9-6 1.回顾 9-6 2.php xml编程⑦-phpdom编程(2) 9-6 3.php xml编程⑧-phpdom编程(3) 综合练习-基于xml的在线词典 9-6 4.php xml编程⑨-综合练习-基于xml的在线词典 phpdom使用xpath 9-6 5.php xml编程(10)-SimpleXML 9-7 1.回顾 9-7 2.析构方法 9-7 3.static关键字(静态变量) 9-7 4.static关键字(静态方法) 面向对象编程三大特性① 9-7 5.面向对象编程三大特性② 9-7 6.面向对象编程三大特性③ 9-9 1.回顾 9-9 2.面向对象编程三大特性④ 9-9 3.面向对象编程三大特性⑤ 抽象类 9-9 4.接口 9-9 5.继承与实现比较 final const 9-9 6.面向对象编程综合练习 10-10 1 课程回顾 10-10 2 正则表达式 10-10 3 正则表达式 子表达式 引用 反向捕获 10-10 4 正则表达式 元字符 语法 10-10 5 元字符 实例应用 10-10 6 供求信息网讲解1 10-10 7 供求信息网讲解2 10-11 1 供求信息网3 10-11 2 供求信息网4 10-11 3 供求信息网5 10-11 4 供求信息网6 10-15 1 zendframe手动部署 自动部署 10-15 2 zendframe架构讲解 10-15 3 view layout布局 10-15 4 view helper视图助手 10-15 5 遗留问题解决 10-15 6 zf重新部署 10-15 7 zf controller讲解 10-16 1 model讲解 controller view调用 10-16 2 投票系统讲解1 10-16 3 投票系统讲解2 10-16 4 投票系统讲解3 10-16 5 投票系统讲解4 10-18 1 模板技术讲解 10-18 2 smarty常用功能 10-18 3 smarty常用功能 10-18 4 smarty功能讲解 10-18 5 smarty流程控制 10-18 6 10-18 7 smarty include使用 10-19 1 smarty实例 注册 10-19 2 smarty实例 注册2 10-19 3 smarty实例 注册3 10-19 4 smarty 字符串 自定义插件 缓存 10-19 5 smarty 字符串 自定义插件 缓存 10-19 6 smarty实例应?? 10-19 7 smarty实例应用2 10-19 8 smarty实例应用3 10-20 1 smarty应用 更换网站皮肤 10-20 2 smarty应用 更换网站皮肤2 10-20 3 smarty应用 更换网站皮肤3 10-20 4 smarty应用 更换网站皮肤4 10-20 5 smarty二级联动 10-20 6 smarty完成静态化 10-20 7 10-20 8 smarty分页技术 10-20 9 10-22 1 ajax介绍 无刷新验证用户名 10-22 2 ajax如何处理xml格式返回数据 10-22 3 json 10-22 4 ajax如何处理json格式返回数据 10-22 5 ajax应用 省市联动 10-22 6 ajax应用 黄金市场报价 10-23 1 简易在线聊天室1 10-23 2 简易在线聊天室2 10-23 3 简易在线聊天室3 10-23 4 简易在线聊天室4 10-23 5 简易在线聊天室5 10-23 6 简易在线聊天室6 10-25 1 jquery框架 jquery对象与dom对象区别及混合使用 10-25 2 jquery id选择器 层次选择器 10-25 3 jquery过滤选择器及练习题讲解 10-25 4 内容过滤器 可见度过滤器及练习讲解 10-26 1 课程回顾 10-26 2 属性过滤选择器 10-26 3 子元素选择器 表单对象属性选择器 10-26 4 jquery对象集合遍历的四种形式及练习题讲解 jquery的dom操作 10-27 1课程回顾 10-27 2 jquery的dom操作 内部插入 外部插入 10-27 3 jquery节点操作 10-27 4 练习题讲解 10-27 5 jquery属性操作 获取子元素和兄弟元素的方法 10-27 6 练习题讲解 10-27 7 jquery和ajax整合使用的方法 10-29 1 svn安装及常用操作 10-29 2 svn常用操作 实例讲解1 10-29 3 svn常用操作 实例讲解2 10-29 4 svn常用操作 实例讲解3 10-29 5 svn常用操作 实例讲解4 10-30 1 linux简介 10-30 2 虚拟机安装 linux安装 10-30 3 常用命令 远程控制软件使用 10-30 4 vi编辑器使用 linux目录讲解 10-4 1 课程回顾 10-4 2 js面向对象多态 10-4 3 js内部对象和系统函数 10-4 5 js内部类 string array 10-4 6 js对象数组 常用系统函数 10-4 7 js事件 事件驱动机制 10-4 8 10-5 1 课程回顾 10-5 2 js dom编程 10-5 3 dom编程实例 乌龟抓鸡 10-5 4 dom编程实例 乌龟抓鸡2 10-5 5 dom层次关系 dom对象 10-5 6 dom实例讲解 小人行走 10-7 1 课程回顾 10-7 2 dom对象详解 10-7 3 dom对象详解2 10-7 4 document对象 10-7 5 乌龟抓鸡游戏加强版 10-7 6 常用dom对象node节点属性讲解 10-7 7 坦克大战初步讲解 10-8 1 课程回顾 乌龟抓鸡游戏bug修复 10-8 2 style对象 10-8 3 style对象实例讲解 10-8 4 form forms对象 img对象 link对象 table对象 10-8 5 table实例讲解 10-8 6 正则表达式 11-1 1 常用命令讲解 用户管理 运行级别 11-1 2 常用开发命令讲解2 11-1 3 常用开发命令讲解3 11-1 4 文件所在组 所有组 其它组讲解 11-2 lamp安装(php和apache的整合)2011-11-2-3 11-2 lamp安装之-mysql的安装和配置(2011-11-2-2) 11-2 rpm命令+samba安装(2011-11-2-5) 11-2 在linux下安装phpmyadmin软(2011-11-2-4) 11-5-1(上次课回顾) 11-5-2(页面静态化介绍) 11-5-3新闻管理系统(页面真静态) 11-5-4(真静态) 11-5-5(伪静态) 11-6 1(memcache原理介绍) 11-6 2-1(memcache的telnet操作,安装和基本使用) 11-6 2-2(memcach3的php的操作) 11-6 4(mysql数据库优化1) 11-6 5(mysql数据库优化 11-6 6(mysql数据库优化 11-8 商务网站项目1_1 11-8 商务网站项目1_2 11-8 商务网站项目1_3 11-9 商务网站项目2_1 11-9 商务网站项目2_2 11-9 商务网站项目2_3 11-9 商务网站项目2_4-单例模式 11-9 商务网站项目2_5 11-10 商务网站项目3_1 11-10 商务网站项目3_2 11-10 商务网站项目3_3 11-12 商务网站项目4_1 11-12 商务网站项目4_2 11-12 商务网站项目4_3-订单提交 11-13 商务网站项目4_4(没声音) 11-13 商务网站项目4_5 11-13 商务网站项目4_6 11-15 商务网站项目5_ec二次开发 11-17 yii_store项目1 11-19 yii框架_store项目 11-19 yii框架_store项目 11-19 yii框架_store项目 11-19 yii框架_store项目 11-19 yii框架_store项目 11-20-yii框架_store项目 11-20-yii_store项目 11-20-yii_store项目 11-20-yii_store项目 11-20-yii_store项目 11-22 yii_store项目 11-22 yii_store项目 11-23 yii_store项目 11-23 yii_store项目 11-24 yii_store项目 11-24 yii_store项目 11-24 yii_store项目 11-25 yii_store项目
万岳网校源码采用原生语言开发,多端互通,集“教学、学习、管理、互动、营销”功能模块为一体。满足多种线上教学场景,支持大班课、小班课、公开课、双师教学等教学模式,助力教培机构迅速转型,同时也为院校提供了线上教学模式的参考标准。 万岳网校源码特点 不同版本,不同体验 机构版: 支持多种直播课堂形式; 学员自由选择讲师和课程,并非统一管理; 支持创建精选套餐课程,全方位满足学习要求; 多种知识变现渠道,享受付费红利。 校园版: 支持私有化部署; 多终端支持,使用方便; 教学和教务管理功能丰富实用; 多维度、全方位的数据统计; 视频延迟低,连麦流畅不失真 支持四大教学场景 互动大班课 包含语音\视频大班课两种模式,可容纳万人同时在线。 精品小班课 多种互动和教学功能,适合小团体授课,更有针对性。 双师教学 主讲老师线上授课,辅导老师协助,构建更有序的直播环境。 内容付费 包含视频、图文、语音形式,学员通过免费、密码、付费方式取得。 万岳网校源码·主要功能 教学白板 含画笔、文本框、橡皮擦等工具,支持书写标记、动态PPT上传、视频控制等。 课堂管理 精选套餐、好课推荐、精选内容、直播课堂,四大课程栏目,不同学习体验。 题库建设 管理后台可添加题库,包含选择、判断、填空及解答,支持图片、视频或语音。 在线考试 学员可在用户中心参加考试,支持多种题型,题目可从题库中导入。 分销功能 学员在满足一定条件后可成为推广员,通过分享课程、邀请新用户获利。 随堂测验 测试含三种题型,分为选择、判断和应用题,讲师能在开课前预设测验。 作业本 讲师能发布课堂作业,作业内容来源于上传的试卷照片或题库。 在线抢答 讲师随机发布题目,学员参与抢答,讲师选中的学员即可上麦沟通。 万岳网校源码·应用行业 K12教育 包含:语文、数学、外语等各类中小学课后辅导 在线网校 包含:IT、会计、心理、教资等职业技能培训 语言培训 包含:英语、德语、日语等语言类教育 企业内训 包含:企业文化、员工管理、人才培养等公司内训 兴趣培养 包含:美术、音乐、瑜伽、健身等兴趣类教育 学历培训 包含:成人自考、学历提升、考研等成人教育 万岳网校源码参数 品牌:thinkphp 语言:php 数据库:Mysql 客户端:APP+web 规格:整站源码 授权:免授权 源文件:完全开源 万岳网校源码安装环境 主机类型:独立主机 伪静态:无需 操作系统:Windows、安卓、iOS、linux Web服务:nginx 源码安装步骤: 1、关闭防火墙并设置开机关闭------>systemctl stop firewalld && systemctl disable firewalld 2、确保服务器开放以下端口:21 22 80 888 8888 3306 6379 19967 39000-40000(ftp被动模式端口,不用可以不打开) 3、宝塔面板也需要开放以下端口:21 22 80 888 8888 3306 6379(下面有介绍) 19967 39000-40000(ftp被动模式端口,不用可以不打开) 1.宝塔面板安装命令 1.1、 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh 执行完成后给出默认的登录URL、用户名和密码 1.2、根据上面安装成功的地址登录宝塔面板后台,我们需要去设置网站环境。 1.3、登录成功后执行一键安装lnmp,具体版本如下: nginx版本1.15 MySQL 5.7 php 7.0 phpmyadmin 4.7 安装方式为极速安装 1.4、等宝塔程序自动安装完毕之后,我们就可以去左侧菜单创建站点、数据库等应用。 1.5、此时环境lnmp搭建好,但是redis和php插件 如opchache redis fileinfo都需要安装下 1.6、找到redis安装下 1.7、同理安装下PHP扩展插件 1.8、此时网站整体环境搭建好了,但是还需要确认下宝塔面板以下端口是否开放,没开放的话直接打开(上面一开始开放的部分是服务器开放的端口,别混淆了) 2.设置宝塔面板安全 进入后台,设置——面板设置。 默认宝塔面板端口、用户、密码都需要修改,确保服务器的安全。 3.redis配置 修改redis配置信息 重启redis 4.添加站点、数据库(站点需要配置ssl证书`) 设置完毕之后,我们可以正常的添加站点、数据库,这个很简单,直接设置就可以。 搭建好了之后会提示:成功创建站点 建立完站点,由于是tp5框架,所以我们要修改下网站根目录 配置ssl证书 可
淘宝Fourinone(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,我对分布式计算进行了长时间的思考,也看了老外写的其他开源框架,当我们把复杂的hadoop当作一门学科学习时,似乎忘记了我们想解决问题的初衷:我们仅仅是想写个程序把几台甚至更多的机器一起用起来计算,把更多的cpu和内存利用上,来解决我们数量大和计算复杂的问题,当然这个过程中要考虑到分布式的协同和故障处理。如果仅仅是为了实现这个简单的初衷,为什么一切会那么复杂,我觉的自己可以写一个更简单的东西,它不需要过度设计,只需要看上去更酷一点,更小巧一点,功能更强一点。于是我将自己对分布式的理解融入到这个框架中,考虑到底层实现技术的相似性,我将Hadoop,Zookeeper,MQ,分布式缓存四大主要的分布式计算功能合为一个框架内,对复杂的分布式计算应用进行了大量简化和归纳。 首先,对分布式协同方面,它实现了Zookeeper所有的功能,并且做了很多改进,包括简化Zookeeper的树型结构,用domain/node两层结构取代,简化Watch回调多线程等待编程模型,用更直观的容易保证业务逻辑完整性的内容变化事件以及状态轮循取代,Zookeeper只能存储信息不大于1M的内容,Fourinone超过1M的内容会以内存隐射文件存储,增强了它的存储功能,简化了Zookeeper的ACL权限功能,用更为程序员熟悉rw风格取代,简化了Zookeeper的临时节点和序列节点等类型,取代为在创建节点时是否指定保持心跳,心跳断掉时节点会自动删除。Fourinone是高可用的,没有单点问题,可以有任意多个复本,它的复制不是定时而是基于内容变更复制,有更高的性能,Fourinone实现了领导者选举算法(但不是Paxos),在领导者服务器宕机情况下,会自动不延时的将请求切换到备份服务器上,选举出新的领导者进行服务,这个过程中,心跳节点仍然能保持健壮的稳定性,迅速跟新的领导者保持心跳连接。基于Fourinone可以轻松实现分布式配置信息,集群管理,故障节点检测,分布式锁,以及淘宝configserver等等协同功能。 其次, Fourinone可以提供完整的分布式缓存功能。如果对一个中小型的互联网或者企业应用,仅仅利用domain/node进行k/v的存储即可,因为domain/node都是内存操作而且读写锁分离,同时拥有复制备份,完全满足缓存的高性能与可靠性。对于大型互联网应用,高峰访问量上百万的并发读写吞吐量,会超出单台服务器的承受力,Fourinone提供了fa?ade的解决方案去解决大集群的分布式缓存,利用硬件负载均衡路由到一组fa?ade服务器上,fa?ade可以自动为缓存内容生成key,并根据key准确找到散落在背后的缓存集群的具体哪台服务器,当缓存服务器的容量到达限制时,可以自由扩容,不需要成倍扩容,因为fa?ade的算法会登记服务器扩容时间版本,并将key智能的跟这个时间匹配,这样在扩容后还能准确找到之前分配到的服务器。另外,基于Fourinone可以轻松实现web应用的session功能,只需要将生成的key写入客户端cookie即可。 Fourinone对于分布式大数据量并行计算的解决方案不同于复杂的hadoop,它不像hadoop的中间计算结果依赖于hdfs,它使用不同于map/reduce的全新设计模式解决问题。Fourinone有“包工头”,“农民工”,“手工仓库”的几个核心概念。“农民工”为一个计算节点,可以部署在多个机器,它由开发者自由实现,计算时,“农民工”到“手工仓库”获取输入资源,再将计算结果放回“手工仓库”返回给“包工头”。“包工头”负责承包一个复杂项目的一部分,可以理解为一个分配任务和调度程序,它由开发者自己实现,开发者可以自由控制调度过程,比如按照“农民工”的数量将源数据切分成多少份,然后远程分配给“农民工”节点进行计算处理,它处理完的中间结果数据不限制保存在hdfs里,而可以自由控制保存在分布式缓存、数据库、分布式文件里。如果需要结果数据的合并,可以新建立一个“包工头”的任务分配进行完成。多个“包工头”之间进行责任链式处理。总的来说,是将大数据的复杂分布式计算,设计为一个链式的多“包工头”环节去处理,每个环节包括利用多台“农民工”机器进行并行计算,无论是拆分计算任务还是合并结果,都可以设计为一个单独的“包工头”环节。这样做的好处是,开发者有更大能力去深入控制并行计算的过程,去保持使用并行计算实现业务逻辑的完整性,而且对各种不同类型的并行计算场景也能灵活处理,不会因为某些特殊场景被map/reduce的框架限制住思维,并且链式的每个环节也方便进行监控过程。 Fourinone也可以当成简单的mq来使用,将domain视为mq队列,每个node为一个队列消息,监控domain的变化事件来获取队列消息。也可以将domain视为订阅主题,将每个订阅者注册到domain的node上,发布者将消息逐一更新每个node,订阅者监控每个属于自己的node的变化事件获取订阅消息,收到后删除内容等待下一个消息。但是Fourinone不实现JMS的规范,不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于Fourinone自己去扩充这些功能,包括mq集群,利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式缓存的智能根据key定位服务器的做法实现集群管理。 Fourinone整体代码短小精悍,跟Hadoop, Zookeeper, Memcache, ActiveMq等开源产品代码上没有任何相似性,不需要任何依赖,引用一个jar包就可以嵌入式使用,良好支持window环境,可以在一台机器上模拟分布式环境,更方便开发。 开发包里自带了一系列傻瓜上手demo,包括分布式计算、统一配置管理、集群管理、分布式锁、分布式缓存、MQ等方面, 每个demo均控制在少许行代码内,但是涵盖了Fourinone主要的功能,方便大家快速理解并掌握。 Fourinone 2.0新增功能: Fourinone2.0提供了一个4合1分布式框架和简单易用的编程api,实现对多台计算机cpu,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。Fourinone框架提供了一系列并行计算模式(农民工/包工头/职介绍/手工仓库)用于利用多机多核cpu的计算能力;提供完整的分布式缓存和小型缓存用于利用多机内存能力;提供像操作本地文件一样操作远程文件(访问,并行读写,拆分,排它,复制,解析,事务等)用于利用多机硬盘存储能力;由于多计算机物理上独立,Fourinone框架也提供完整的分布式协同和锁以及简化MQ功能,用于实现多机的协作和通讯。 一、提供了对分布式文件的便利操作, 将集群中所有机器的硬盘资源利用起来,通过统一的fttp文件路径访问,如: windows:fttp://192.168.0.1/d:/data/a.log linux:fttp://192.168.0.1/home/user/a.log 比如以这样的方式读取远程文件: FttpAdapter fa = FttpAdapter("fttp://192.168.0.1/home/log/a.log"); fa.getFttpReader().readAll(); 提供对集群文件的操作支持,包括: 1、元数据访问,添加删除,按块拆分, 高性能并行读写,排他读写(按文件部分内容锁定),随机读写,集群复制等 2、对集群文件的解析支持(包括按行,按分割符,按最后标识读取) 3、对整形数据的高性能读写支持(ArrayInt比ArrayList存的更多更快) 4、两阶段提交和事务补偿处理 5、自带一个集群文件浏览器,可以查看集群所有硬盘上的文件(不同于hadoop的namenode,没有单点问题和容量限制) 总的来说, 将集群看做一个操作系统,像操作本地文件一样操作远程文件。 但是fourinone并不提供一个分布式存储系统,比如文件数据的导入导出、拆分存储、负载均衡,备份容灾等存储功能,不过开发人员可以利用这些api去设计和实现这些功能,用来满足自己的特定需求。 二、自动化class和jar包部署 class和jar包只需放在工头机器上, 各工人机器会自动获取并执行,兼容操作系统,不需要进行安全密钥复杂配置 三、网络波动状况下的策略处理,设置抢救期,抢救期内网络稳定下来不判定结点死亡 fourinone-3.04.25最新版升级内容: 1、编译和运行环境升级为jdk7.0版本; 2、计算中止和超时中止的支持,比如多台计算机工人同时执行查找,一旦某台计算机工人找到,其余工人全部中止并返回。以及可以由工人控制或者框架控制的计算过程超时中止。 3、一次性启动多工人进程支持,可以通过程序api一次性启动和管理“ParkServer/工头/工人”多个进程,并附带良好的日志输出功能,用于代替写批处理脚本方式,方便部署和运行。 4、增加了相应指南和demo。 本软件遵循apache2.0开源软件协议,自由分享 (C) 2007-2012 Alibaba Group Holding Limited

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值