最近朋友托我帮忙研究如何把一个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. <fieldset>标签

    <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...

  2. js删除map中元素

    js中删除map中元素后,map的长度不变,这时需要我们自己处理 delete vacc[0]; delete vacc[1]; ClearNullArr(vacc); //清除vacc中的null值 ...

  3. ABP框架系列之五十一:(Timing-定时)

    Introduction While some applications target a single timezone, some others target to many different ...

  4. ABP框架系列之二十七:(Feature-Management-特征管理)

    Introduction Most SaaS (multi-tenant) applications have editions (packages) those have different fea ...

  5. async/await让你的代码更加优雅

    一. 回调地狱:回调函数里面嵌套着回调函数嵌套着回调函数”,这就是被传说中的“回调地狱callbackHell () { const api = new Api() let user, friends ...

  6. windows下angularJs环境搭建和遇到的问题解决

    搭建本地开发环境 angular官网社区上说:你应该在自己的电脑上本地开发... 你也应该在本地环境学习 Angular. 本人也认为在本地搭建学习环境--靠谱.所以决定尝试一下. 安照中文社区给的步 ...

  7. Unity3D连接本地或局域网MySQL数据库

    准备工作: 1.打开 Unity3D 安装目录,到这个路径下 Editor > Data > Mono > lib > mono > 2.0 拷贝出下图的五个动态链接库, ...

  8. 使用pwm进行呼吸灯的设计

    本文源码已经上传至csdn: 程序源码如下; #define LEDC_IO_0 (2) esp_err_t app_main() { ledc_timer_config_t ledc_timer = ...

  9. Visual Studio 2013 配置多个Release版本,并为每个版本配置预编译的宏

    最近开发过程中,需要将同一份工程编译成两个版本,分别为ReleaseA和ReleaseB. ReleaseB比ReleaseA少了部分功能,所以希望在编译的时候,根据不同的版本编译工程中相应的代码. ...

  10. WeexSDK之注册Components

    先来看一下注册Components的源码: + (void)_registerDefaultComponents { [self registerComponent:@"container& ...