最近朋友托我帮忙研究如何把一个DTCMS部署到Linux下,经过1天的研究,部署基本成功,可能有些细节还未注意到,现在把心得分享一下。过程比预期的要简单

  身为.Net程序员,这个问题的第一步可能就是如何搭建一个Linux环境来测试部署的问题了,我们大部分人平时可能很少接触Linux,更别说部署事宜了,本篇主要讲述一下环境(虚拟机)搭建遇到的问题。

  1.虚拟机网络问题

  可能对于我们来说Linux是hard模式,如果是一台没有网络的Linux,绝对是地狱模式了,所以优先要把网络搞定,我这边使用的是Hyper-V作为例子,iso选择了CentOS-7-x86_64-Minimal-1708.iso版本

  1)选择虚拟交换机管理器

  2)新建虚拟网络交换机,选择外部,其他的默认即可。 创建完成(也可以选择内部,然后和宿主机对外网卡做桥接,但需要注意的是,要修改虚拟机移除默认网络适配器,增加旧版网络适配器选择此交换机)

  3)创建虚拟机,记得网络要选择刚刚创建的虚拟网络交换机

  4)挂载iso开始安装

  建议再此处打开网络,一般选择打开后你就可以看到你的IP相关信息了,由于我下载的iso就是最小安装,所以软件选择也没有什么好选择的了,等待安装完成。

  2.常用软件安装(刚装的系统,直接使用root账号操作)

  1)更新系统 安装常用组件(非必须,但不安装后面要安装wget,unzip的功能)

1
2
3
yum update
yum install wget telnet perl perl-devel net-tools kernel-devel
yum groupinstall "Development tools" -y

  一些常用的命令,省得到时候到网上搜索让你执行一个命令,结果找不到、

  2)关闭centos的firewall,改使用iptables,iptables网上资料较多(非必须,也可以继续使用firewall,也有资料)

1
2
3
4
5
6
7
8
9
10
systemctl stop firewalld.servic #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
systemctl enable iptables.service #设置防火墙开机启动
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #增加一条防火墙允许记录
/usr/libexec/iptables/iptables.init save #保存
/usr/libexec/iptables/iptables.init status #防火墙状态
systemctl restart iptables.service #重启防火墙使配置生效
#更多参考 https://laod.cn/code-audit/linux-firewall-iptables.html iptables命令替换为/usr/libexec/iptables

  3)安装ssh服务

1
2
3
yum install -y openssh-server
vi /etc/ssh/sshd_config  #修改配置文件,打开22端口
#参考 https://zhuanlan.zhihu.com/p/22438350

  4)使用Xshell连接ssh,苦日子到头了,可以复制粘贴命令了

  3.安装Jexus

1
2
3
curl https://jexus.org/release/x64/install.sh|sh
cd /usr/jexus
sudo ./jws start

  4.可以在宿主机上测试Jexus的服务器了,地址 http://虚拟机IP地址/info

  如果无法访问,防火墙增加80端口配置,重启防火墙

部署DTCMS到Jexus遇到的问题及解决思路---Linux环境搭建的更多相关文章

  1. [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路---Linux环境搭建

    最近朋友托我帮忙研究如何把一个DTCMS部署到Linux下,经过1天的研究,部署基本成功,可能有些细节还未注意到,现在把心得分享一下.过程比预期的要简单 身为.Net程序员,这个问题的第一步可能就是如 ...

  2. [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路---部署

    上一篇我们环境已经准备完成,此时可以部署了,我们就以dtcms作为例子,http://bbs.dtcms.net/forum.php?mod=viewthread&tid=2420&e ...

  3. 部署DTCMS到Jexus遇到的问题及解决思路---部署

    上一篇我们环境已经准备完成,此时可以部署了,我们就以dtcms作为例子,http://bbs.dtcms.net/forum.php?mod=viewthread&tid=2420&e ...

  4. [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路--验证码

    上一篇博客我们已经基本完成了部署工作,目前发现了验证码出现500错误,分析其代码,我们可以看到验证码使用的是System.Drawing命名空间下的类库, GDI+ 位图,这个在肯定是平台相关的,所以 ...

  5. 部署DTCMS到Jexus遇到的问题及解决思路--验证码

    上一篇博客我们已经基本完成了部署工作,目前发现了验证码出现500错误,分析其代码,我们可以看到验证码使用的是System.Drawing命名空间下的类库, GDI+ 位图,这个在肯定是平台相关的,所以 ...

  6. 【Python】部署上手App后端服务器 - Linux环境搭建安装Python、Tornado、SQLAlchemy

    基于阿里云服务器端环境搭建 文章目录 基于阿里云服务器端环境搭建 配置开发环境 安装 Python 3.8.2 安装 Tornado 安装 MySQL 安装 mysqlclient 安装 SQLAlc ...

  7. Linux环境搭建及项目部署

    一. VMWare安装图解 1.点击下一步 2.接受条款,下一步 3.选择安装目录,不建议有中文目录和空格目录.下一步 4.下一步 5.这两个选项根据可以爱好习惯选择,下一步 6.安装 7.完成 9. ...

  8. Linux环境搭建系列之sorl服务器的安装部署

    http://blog.csdn.net/upxiaofeng/article/details/51425732

  9. 在Linux环境下使用Apache部署ASP.NET Core

    在前几篇文章中我们一起探讨了如何在Linux环境中安装ASP.NET Core运行时环境及将ASP.NET Core项目部署在Jexus中,这篇文章中我们将探讨如何将ASP.NET Core部署于Ap ...

随机推荐

  1. MVC Log4Net 配置

    1.引用log4net.dll 2.在项目根目录下增加log4.config文件 <?xml version="1.0"?> <configuration> ...

  2. css概括2

    Css内容: 常用样式:字体.颜色.背景... 字体:大小.颜色.粗细.字体 Text-decoration:文本修饰{overline 上 Underline 下 Line-throung 中} T ...

  3. redis之一初识redis

    本文主要围绕以下几点进行阐述: 1.什么是redis? 2.为什么要使用redis呢? 3.redis的一些基本配置 4.redis的缺点? 正文: 1.什么是redis? Redis是一款内存高速缓 ...

  4. 使用netstat命令查看端口的使用情况

    Windows如何查看端口占用情况操作步骤如下: 开始--运行--cmd 进入命令提示符,输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管 ...

  5. Android 富文本编辑器实现方案

    本人实现富文本编辑器的时候,总结了如下两种方案: 1. 纯 EditText 实现方案 2. 使用ScrollView作为最外层的父容器来控制展示效果 示例demo地址为:https://github ...

  6. Java 虚拟机的内存结构

    Java虚拟机运行时数据区 整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),也就是我们常说的J ...

  7. struts2框架学习笔记1:搭建测试

    Servlet是线程不安全的,Struts1是基于Servlet的框架 而Struts2是基于Filter的框架,解决了线程安全问题 因此Struts1和Struts2基本没有关系,只是创造者取名问题 ...

  8. Netty:Channel 建立后消息发送失败

    1. 问题现象 Channel 建立后消息发送失败: ChannelFuture future = DeviceManager.getBootstrap().connect(); deviceChan ...

  9. 认识不一定熟悉的opencv

    对很多人来说,opencv就像在旅行路上遇到的某个人,很有可能,这个只是你生命中的匆匆过客.可是,对于一个立志要做熟悉图像处理的人来说,你不能绕过他. 他是什么? OpenCV是一个基于BSD许可(开 ...

  10. Shell - 简明Shell入门15 - 调试(Debug)

    示例脚本及注释 #!/bin/bash -x for filename in t1 t2 t3 do touch $filename.txt echo "Create new file: $ ...