Linux上用Jexus部署Asp.Net网站:常规部署与Docker部署
(一)常规部署
一、把 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部署的更多相关文章
- IIS 7 Web服务器上部署ASP.NET网站(转)
IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...
- 【转】windows下nginx+mono+fastCGI部署asp.net网站
原文链接:http://www.cnblogs.com/amityat/archive/2011/08/23/2150153.html 1,什么是nginx 简介Nginx ("engine ...
- 如何在IIS6,7中部署ASP.NET网站
http://www.cnblogs.com/fish-li/archive/2012/02/26/2368989.html 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 ...
- 如何在IIS6,7中部署ASP.NET网站(转载)
查看web.config文件 web.config通常会放在网站的根目录,这个文件中包含了一最重要的网站运行参数.比如: connectionStrings,httpHandlers,httpModu ...
- 在IIS中部署Asp.Net网站
在IIS中部署Asp.Net网站 1.添加IIS或者删除IIS,在控制面板=>程序和功能=>打开或关闭功能 启动iis,右键计算机=>管理=>服务和应用程序=>Inter ...
- Windows Azure 入门 -- VS 2015部署 ASP.NET网站(项目) 与 数据库
Windows Azure 入门 -- 部署 ASP.NET网站(项目) 与数据库 https://www.dotblogs.com.tw/mis2000lab/2015/12/24/windowsa ...
- 在IIS6,7中部署ASP.NET网站[转]
阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的配置 在IIS7中部署ASP.NET程序 8 ...
- 在IIS6,7中部署ASP.NET网站
查看web.config文件 ASP.NET网站与一般的桌面程序不同,不是拷贝过来就能运行的(数据库连接除外). 要想运行它,通常需要一些配置过程.但是,我们到底需要配置什么呢?答案是:查看web.c ...
- 部署 asp.net 网站到 Azure
部署asp.net网站到Azure 前言 前些天一直在写一个单页面web应用程序,终于完成了,于是考虑发布到云服务器.本人没有AWS账号,遂本打算使用谷歌云.参考文档后发现官方文档给出的方式为在vis ...
- Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布
环境:Windows 2008 R2.Jenkins2.235.1.Visual Studio 2017: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成S ...
随机推荐
- Unity——技能系统(二)
Unity技能系统(二) Unity技能系统(一) Demo展示: 五.技能管理和释放 1.CharacterSkillSystem 技能系统类,给外部(技能按钮,按键)提供技能释放方法: 技能释放逻 ...
- Spring Data Redis Stream的使用
一.背景 Stream类型是 redis5之后新增的类型,在这篇文章中,我们实现使用Spring boot data redis来消费Redis Stream中的数据.实现独立消费和消费组消费. 二. ...
- 从0到1使用Kubernetes系列(七):网络
本文是从 0 到 1 使用 Kubernetes 系列第七篇,上一篇<从 0 到 1 使用 Kubernetes 系列(六):数据持久化实战> 介绍了 Kubernetes 中的几种常用储 ...
- [JavaScript] 实现简单的表单数据校验功能
实现表单数据校验功能 因为项目用的UI库功能太少,表单不具备校验功能,所以自己写了一个,只有一个文件. 使用 import { required, email, useValidate } from ...
- asp.net中挺高性能的24种方法
那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...
- Vue组件传值prop验证方式
在Vue组件开发过程中,父组件要经常给子组件传递数据,在传递数据的过程中,子组件可以使用prop来接收父组件传递的值,同时呢,我们可以为组件的 prop 指定验证要求,例如你知道的这些类型.如果有一个 ...
- Python--基本数据类型(可变/不可变类型)
目录 Python--基本数据类型 1.整型 int 2.浮点型 float 3.字符串 str 字符串格式 字符串嵌套 4.列表 list 列表元素的下标位置 索引和切片:字符串,列表常用 5.字典 ...
- logstash的filter之grok
logstash的filter之grokLogstash中的filter可以支持对数据进行解析过滤. grok:支持120多种内置的表达式,有一些简单常用的内容就可以使用内置的表达式进行解析 http ...
- [bzoj1691]挑剔的美食家
考虑将奶牛和牧草放在一起,根据鲜嫩程度排序,那么显然就可以发现一个贪心策略:每一头奶牛一定选择当前剩余的最便宜且符合条件的牧草,然后用一个set维护价格即可 1 #include<bits/st ...
- java及python调用RabbitMQ
1,python调用MQ发送消息(生产者),话不多说,直接上干货 import pika 如下图 2.java调用MQ发送消息(生产者) 具体代码如下: python 的代码如下 connection ...