部署DTCMS到Jexus遇到的问题及解决思路---部署
上一篇我们环境已经准备完成,此时可以部署了,我们就以dtcms作为例子,http://bbs.dtcms.net/forum.php?mod=viewthread&tid=2420&extra=page%3D1,到这里下载源码,里面有文档和数据库脚本
用这个项目做例子主要是帮朋友研究的就是这个产品,并且相对来说功能比vs创建的模板网站要多不少,应该会遇到一些问题
1.创建数据库
我们需要一个可在虚拟机中访问到的数据库服务器,大部分同学本机应该就有数据库引擎,数据库创建到本地即可,我这边由于没装,所以使用了一个阿里云上的数据库,执行源码里面的脚本即可
2.修改webconfig连接字符串
3.发布网站,根据文档,我们发布后要把bin目录下的一些dll拷贝到发布文件的bin目录下
4.压缩发布后的文件夹,记得使用zip格式,现在我们遇到的问题就是如何上传到虚拟机的指定文件夹中
1)使用xshell连接Linux虚拟机
2)使用xshell的文件传输功能,需要你下载Xftp

3)和普通的ftp软件差不多,上传zip文件即可
5.解压缩zip,我上传到了/var/www/dtcms文件夹下
|
1
2
|
cd /var/www/dtcms/ #定位到文件unzip -o PublishOutput.zip #解压缩 |
6.创建网站配置
|
1
|
vi /usr/jexus/siteconf/dtcms #创建文件 |
#内容
port=8080
root=/ /var/www/dtcms
indexs=index.aspx,index.html
记得增加防火墙配置
7.重启Jexus
|
1
2
|
cd /usr/jexus/./jws restart |
8.访问测试(发现不通)无任何日志,请求未被网站应用接收,开始尝试解决问题
1)使用vs创建默认网站模板(webform)部署测试不存在问题
2)创建默认mvc网站模板部署测试不存在问题
3)检查cms请求处理管道发现cms为了url重写,采用了自定义的httpModules,因此,尝试注释webconfig中httpModules相关配置,共三处

<system.web>
<compilation debug="true" targetFramework="4.0" />
<customErrors mode="Off"/>
<!--<httpModules>
<add type="DTcms.Web.UI.HttpModule, DTcms.Web.UI" name="HttpModule" />
</httpModules>--> <!--<httpHandlers>
<add verb="*" path="templates/main/*.html" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>-->
<!-- 文件上传大小KB-->
<httpRuntime requestValidationMode="2.0" maxRequestLength="2097151" executionTimeout="36000" />
</system.web> <system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<!--<modules runAllManagedModulesForAllRequests="true">
<add type="DTcms.Web.UI.HttpModule, DTcms.Web.UI" name="HttpModule" />
</modules>-->
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483647" />
</requestFiltering>
</security>
</system.webServer>

部署后可以访问管理后台
4)由于xml中第三处依赖第一处,因此通过恢复注释的方法,确认问题出现在
<httpHandlers>
<add verb="*" path="templates/main/*.html" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
这个节点功能是定义禁止访问下载 templates/main/ 下的html模板文件,主要是考虑安全问题,目前还未找到为何影响了Jexus
目前修改为
<httpHandlers>
<add verb="*" path="*.html" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
解决了问题,但看起来和上面的配置并不等价
还有个解决的方案,可以通过Jexus配置:
https://www.linuxdot.net/bbsfile-3084
禁止访问某文件夹及其子文件夹中的内容
DenyDirs=网站文件夹路径的URL路径,如 “/abcfiles”或 “~/abcfiles”,多个路径,用英文逗号分开
解决这样的安全问题
5.url大小写问题
|
1
|
vi /usr/jexus/jws |
注释掉export MONO_IOMAP前面的#
目前来说基本功能无问题了,准备生成模板看看url重新有没有问题,结果发现控制面板-界面管理-站点模板管理 没有模板记录,通过代码分析+记录日志发现
\DTcms.Web\admin\settings\templet_list.aspx.cs中的GetInfo方法存在Linux兼容问题,
其实就是路径的/\问题,windows下就两种都可以,而Linux只支持/,修改后重新发布,问题解决(目前发现此问题已无法重现)
部署DTCMS到Jexus遇到的问题及解决思路---部署的更多相关文章
- [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路---部署
上一篇我们环境已经准备完成,此时可以部署了,我们就以dtcms作为例子,http://bbs.dtcms.net/forum.php?mod=viewthread&tid=2420&e ...
- [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路---Linux环境搭建
最近朋友托我帮忙研究如何把一个DTCMS部署到Linux下,经过1天的研究,部署基本成功,可能有些细节还未注意到,现在把心得分享一下.过程比预期的要简单 身为.Net程序员,这个问题的第一步可能就是如 ...
- 部署DTCMS到Jexus遇到的问题及解决思路---Linux环境搭建
最近朋友托我帮忙研究如何把一个DTCMS部署到Linux下,经过1天的研究,部署基本成功,可能有些细节还未注意到,现在把心得分享一下.过程比预期的要简单 身为.Net程序员,这个问题的第一步可能就是如 ...
- [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路--验证码
上一篇博客我们已经基本完成了部署工作,目前发现了验证码出现500错误,分析其代码,我们可以看到验证码使用的是System.Drawing命名空间下的类库, GDI+ 位图,这个在肯定是平台相关的,所以 ...
- 部署DTCMS到Jexus遇到的问题及解决思路--验证码
上一篇博客我们已经基本完成了部署工作,目前发现了验证码出现500错误,分析其代码,我们可以看到验证码使用的是System.Drawing命名空间下的类库, GDI+ 位图,这个在肯定是平台相关的,所以 ...
- 解决Web部署 svg/woff/woff2字体 404错误 iis 解决Web部署 svg/woff/woff2字体 404错误
问题:最近在IIS上部署web项目的时候,发现浏览器总是报找不到woff.woff2字体的错误.导致浏览器加载字体报404错误,白白消耗了100-200毫秒的加载时间. 原因:因为服务器IIS不认SV ...
- 在Ubuntu 16.04上利用Jexus+.Net Core+Linux版SQL Server部署ZKEACMS.Core
百度传课视频地址:https://chuanke.baidu.com/v5849090-223278-1498090.html 一.SQL Server on Linux的安装 官方文档:https: ...
- disconf系列【2】——解决zk部署情况为空的问题
如下图所示,在安装完成之后,发现zk(zookeeper)部署情况为空. 注:承接上篇,环境未发生改变. 1.解决zk没有启动的问题 查看disconf日志,发现zk没有启动. 实际情况是:zk已经启 ...
- 解决IIS7.0服务和用户上传的文件分别部署在不同的电脑上时,解决权限的问题
为解决IIS服务和用户上传的文件分别部署在不同的电脑上时,解决权限的问题. 定义: A:iis服务器 B:文件服务器 步骤: 1.在B上创建一个用户[uploaduser](并设置密码) 2.给B上的 ...
随机推荐
- JS判断是否有js、css文件的引入方法
在页面头部有个 <script type="text/javascript" src="abc.js"></script> <li ...
- Java面试题4
一.JAVA基础篇-概念1.简述你所知道的Linux: Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是主流的服务器操作系统, 广泛应用于互联网.云计算.智能手机(A ...
- springmvc 对日期的转换与处理
一,背景 近期项目上需求还没有确定,难道清闲,对项目中不合理的地方进行一些升级改造.鉴于项目使用的技术框架比较老旧(spring 3.0+) ,一直没有对此做大的升级改造.由于之前项目入参,出参都是使 ...
- c++ 日志输出库 spdlog 简介(1)
参考文章: log库spdlog简介及使用 - 网络资源是无限的 - CSDN博客 http://blog.csdn.net/fengbingchun/article/details/78347105 ...
- 【洛谷4070】 [SDOI2016]生成魔咒(SAM)
传送门 洛谷 Solution 考虑要求的是什么,前缀的本质不同的字符串个数? 如果只要求一个串那么显然答案是\(\sum_{i=1}^{tot}len[i]-len[fa[i]]\)(实际上这个并不 ...
- 【BZOJ3676】 [Apio2014]回文串(SAM,manacher)
传送门 BZOJ 洛谷 Solution 考虑我们每找到一个回文串就更新一次答案,跑个SAM,这样子复杂度是爆炸的. 接下来的就是优化: 我们可以倍增跳直到跳不了,最后的siz就是出现次数. 没了?没 ...
- 微信小程序框架与组件
版权声明:未经博主允许不得转载 前言: 学习微信小程序应该不怎么难吧~下面我来记录一下学习笔记,在学微信小程序的时候,如果你有html+css+javascript的基础,那么你就很快地上手掌握的.下 ...
- java8 parallel并行处理实战
需求 我需要做一个人员某几项数据的统计,由于数据量较大,不能一次性加载到内存进行统计.所以采用了遍历每个用户.当然也可以分配处理. 分析需求可得知,每个用户其实互不相关,数据的统计可以同步进行,因此考 ...
- javascript History对象属性和方法
History对象 History对象包含用户(在浏览器窗口中)访问过的URL length: 返回浏览器历史列表中的URL数量(打开浏览器,访问淘宝,返回1,再访问百度,返回2) History对象 ...
- HoloLens开发手记 - 使用配件 Working with accessories
HoloLens提供了通过蓝牙使用配件的能力.使用附件两种常见情况是用来点击手势和虚拟键盘.对本文来讲,两个最常见的配件就是HoloLens Clicker(点击器)和蓝牙键盘.HoloLens包含了 ...