(一)常规部署

一、把 jexus压缩包下载到linux临时文件夹中。

cd /tmp

wget linuxdot.net/down/jexus-6.2.x-arm64.tar.gz

(不同的操作系统红色部份对应的包不一样,也可以手动下载安装包,上传到linux目录,手动解压,进 https://www.linuxdot.net/ 下载相关的版本)

二、解压文件

tar -zxvf jexus-5.8.1-x64.tar.gz

解压完成后,会在/tmp中得到一个jexus文件夹。

三、移动

把jexus文件夹移动或复制到一个指定的工作位置,这个位置你自己决定,建议大家统一使用/usr路径。

sudo mv jexus /usr

然后清理/tmp中的jexus:

sudo rm -rf /tmp/jexus

四、修改配置文件 指定网站目录跟端口

vi  /usr/jexus/siteconf/default

修改port 跟root

五、把发布好的程序文件上传到配置文件root指定的目录

六、 重启jws服务

cd  /usr/jexus

sudo ./jws restart

七、验证是否成功

  curl  localhost:port

(二)docker部署

一,把Dockerfile文件和init.sh文件放到linux主机的某个文件夹中,然后进入这个文件夹。(文件内容见内容尾部)

二,构建镜像:

sudo docker build -t jexus:v6 .

(注意,这行命令最后有一个空格+英文“.”号)

三,生成和运行容器:

 sudo docker run -d -p 8901:80 -p 8902:22 -v /var/www:/var/www --name jexus jexus:v6

(注:意思是将容器的80、22端口映射到主机的8080和2222端口,以便外部访问;这个容器的名字叫“jexus ”,-v 把容器内的目录挂载到host,不然每次删除镜像会把网站文件删除掉)

(如果容器内网站要用https协议或者需要向外提供StateServer服务,还需分别将容器内443、42424端口映射到主机)

四,检查运行情况:

 sudo docker ps -a

五,检查容器中jexus服务情况:

sudo curl localhost:8901

六、从主机进入容器,在容器内进行某些操作(比如修改httpd_config文件允许root登入等)

进入:sudo docker exec -it jexus /bin/bash

退出:exit

七、安装字体(不然有些程序内有调用font的会出问题比如验证码)

1、从window系统拷贝字体文件到容器里面的目录下【/usr/share/fonts/truetype】(从linux拷备到容器里面的方法:docker cp 【 linux目录】 容器id:【容器里面的目录】

2、执行mkfontscale 命令不存在 执行apt install xfonts-utils

3、执行mkfontdir

4、执行fc-cache -fv 命令不存在 执行apt install fontconfig

5、重启容器

八、Dockerfile内容如下:

   FROM ubuntu:latest

MAINTAINER Yunei.Liuyun <j66x@163.com>

RUN apt-get update; apt-get -y upgrade; apt-get -y install wget curl ssh vim yum php-cgi libx11-dev libfreetype6-dev libexpat-dev libglib2.0-bin

RUN curl https://jexus.org/release/arm64/install.sh|sh

# RUN sed -i -e 's/^PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config

ADD init.sh /bin

RUN chmod +x /bin/init.sh; apt-get -y autoremove; apt-get -y autoclean; apt-get -y clean

EXPOSE  22 80 443 42424 8901 8902 8903 8904

ENV TERM="xterm"

WORKDIR /usr/jexus

ENTRYPOINT ["/bin/init.sh"]

九、init.sh文件内容如下:

  #!/bin/bash

# Stop your services

function stop_svc {

  /usr/jexus/jws stop >/dev/null 2>&1

  service ssh stop >dev/null 2>&1

  exit

}

# Set the SIGTREM signal response function

trap 'stop_svc' SIGTERM

# Start Your Services

#####################

service ssh start

/usr/jexus/jws start

# Waiting signal

####################

while true

do

  sleep 2

done

十、完成

Linux上用Jexus部署Asp.Net网站:常规部署与Docker部署的更多相关文章

  1. IIS 7 Web服务器上部署ASP.NET网站(转)

    IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...

  2. 【转】windows下nginx+mono+fastCGI部署asp.net网站

    原文链接:http://www.cnblogs.com/amityat/archive/2011/08/23/2150153.html 1,什么是nginx 简介Nginx ("engine ...

  3. 如何在IIS6,7中部署ASP.NET网站

    http://www.cnblogs.com/fish-li/archive/2012/02/26/2368989.html 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 ...

  4. 如何在IIS6,7中部署ASP.NET网站(转载)

    查看web.config文件 web.config通常会放在网站的根目录,这个文件中包含了一最重要的网站运行参数.比如: connectionStrings,httpHandlers,httpModu ...

  5. 在IIS中部署Asp.Net网站

    在IIS中部署Asp.Net网站 1.添加IIS或者删除IIS,在控制面板=>程序和功能=>打开或关闭功能 启动iis,右键计算机=>管理=>服务和应用程序=>Inter ...

  6. Windows Azure 入门 -- VS 2015部署 ASP.NET网站(项目) 与 数据库

    Windows Azure 入门 -- 部署 ASP.NET网站(项目) 与数据库 https://www.dotblogs.com.tw/mis2000lab/2015/12/24/windowsa ...

  7. 在IIS6,7中部署ASP.NET网站[转]

    阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的配置 在IIS7中部署ASP.NET程序 8 ...

  8. 在IIS6,7中部署ASP.NET网站

    查看web.config文件 ASP.NET网站与一般的桌面程序不同,不是拷贝过来就能运行的(数据库连接除外). 要想运行它,通常需要一些配置过程.但是,我们到底需要配置什么呢?答案是:查看web.c ...

  9. 部署 asp.net 网站到 Azure

    部署asp.net网站到Azure 前言 前些天一直在写一个单页面web应用程序,终于完成了,于是考虑发布到云服务器.本人没有AWS账号,遂本打算使用谷歌云.参考文档后发现官方文档给出的方式为在vis ...

  10. Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布

    环境:Windows 2008 R2.Jenkins2.235.1.Visual Studio 2017: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成S ...

随机推荐

  1. Linux mem 2.6 Rmap 内存反向映射机制

    文章目录 1. 简介 2. 匿名内存 Rmap 的建立 2.1 fork() 2.2 do_page_fault() 3. 文件内存 Rmap 的建立 3.1 fork() 3.2 do_page_f ...

  2. Import “google/api/annotations.proto“ was not found or had errors.问题;proto 中外部引入proto文件问题解决方案

    问题 在proto 中引入了一些其他 proto 文件的情况下会出现was not found or had errors.问题 在使用Kratos框架时proto文件引入import "g ...

  3. 大白话讲解Mybatis的plugin(Interceptor)的使用

    mybatis提供了一个入口,可以让你在语句执行过程中的某一点进行拦截调用.官方称之为插件plugin,但是在使用的时候需要实现Interceptor接口,默认情况下,MyBatis 允许使用插件来拦 ...

  4. Python变量和数据类型,类型转换

    a.变量的定义 把数据分别用一个简单的名字代表,方便在接下来的程序中引用. 变量就是代表某个数据(值)的名称. 变量就是用来存储数据的,将不同的数据类型存储到内存   b.变量的赋值 变量名= 初始值 ...

  5. 通过小乌龟从本地主机删除远端svn服务器端的代码或图片文件

    先说解决方案,如果通过windows的右键删除,再次Commit还是会下拉下来,所以需要通过小乌龟的删除来删除这个文件,在删除的那个文件夹里再次提交即可. 图片 1. 选中要删除的文件 2. 右键通过 ...

  6. 04373 C++程序设计 2019版 第一章习题五、程序设计题

    题目: 1.编写一个程序,将从键盘输入的n个字符串保存在一个一维数组A中.在输入字符串之前,先输入n的值.要求,数组A需要动态申请空间,程序运行结束前再释放掉. #include <iostre ...

  7. [hdu6761]Minimun Index

    $lyndon\ word$(以下简写为Lw):对于一个字符串s,其为Lw当且仅当其的最小后缀为自身 性质:若$u<v$为LW,那么$uv$也为Lw(反证法即可证) $lyndon$分解:将一个 ...

  8. 从零开始,使用Dapr简化微服务

    序言 现有的微服务模式需要再业务代码中集成大量基础设施模块,比如注册中心,服务发现,服务调用链路追踪,请求熔断,重试限流等等,使得系统过于臃肿重量级. Dapr作为新一代微服务模式,使用sidecar ...

  9. PIC16 bootloader之UART bootloader

    了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). PIC16 bootl ...

  10. Codeforces 1383F - Special Edges(状态压缩+最大流)

    Codeforces 题目传送门 & 洛谷题目传送门 首先暴力显然是不行的,如果你暴力最大流过了我请你吃糖 注意到本题的 \(k\) 很小,考虑以此为突破口解题.根据最大流等于最小割定理,点 ...