linux 部署.net framework网站 jexus mono 常规部署与docker部署
作者:互联网
常规部署
一、把 jexus压缩包下载到linux临时文件夹中。
cd /tmp
wget linuxdot.net/down/jexus-6.2.x-arm64.tar.gz
(不同的操作系统下载不同的包)
二、解压文件
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
七、安装字体
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
十、完成
标签:容器,部署,mono,sudo,apt,framework,sh,usr,jexus 来源: https://www.cnblogs.com/chenqingbin/p/13897007.html