分类 大观园 下的文章

去阿里申请免费1年 下载其他






解压出 .pem 和key




华硕路由器导入证书


外部网络→DDNS→上传HTTPS/SSL 证书




配置阿里云docker镜像地址 - 辉_少 - 博客园 阿里云镜像




虚拟机 需要配置网络  查看→ centos7配置IP地址 - nonzero - 博客园




 vi /etc/sysconfig/network-scripts/ifcfg-eth0


 vim /etc/sysconfig/network-scripts/ifcfg-eth0 //按2下tab显示网卡名


有关于centos7获取IP地址的方法主要有两种,1:动态获取ip;2:设置静态IP地址


在配置网络之前我们先要知道centos的网卡名称是什么,centos7不再使用ifconfig命令,可通过命令 IP addr查看,如图,网卡名为ens32,是没有IP地址的




动态ip设置



固定ip设置

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static   #设置静态ip

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eth0

UUID=6afff2a9-c1bf-4914-afbf-97fc921cd205

DEVICE=eth0

ONBOOT=yes      #这里如果是no的话设置为yes,表示网卡设备自动启动(能联网ping www.baidu.com)

PEERDNS=yes

PEERROUTES=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no  

 

GATEWAY=192.168.50.1   #默认网关(路由器网关==路由器登录界面)

IPADDR=192.168.50.6    #自己定的固定ip

NETMASK=255.255.255.0  #子网掩码

DNS1=223.5.5.5         #dns服务器1,所在网络可用dns服务,可以设置其他的

DNS2=223.6.6.6         #备用dns2

ip addr 查看ip


systemctl restart network 重启网络


没有ifconfig命令


Redhat7没有安装ifconfig命令的解决方法_Linux日志的技术博客_51CTO博客


yum install net-tools  即可安装ifconfig命令


centos关机与重启命令  

centos关机与重启命令 - Endv - 博客园


Linux centos重启命令:

  1、reboot   普通重启

  2、shutdown -r now 立刻重启(root用户使用)

  3、shutdown -r 10 过10分钟自动重启(root用户使用)

  4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)

  如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

 Linux centos关机命令:

  1、halt 立刻关机

  2、poweroff 立刻关机

  3、shutdown -h now 立刻关机(root用户使用)

  4、shutdown -h 10 10分钟后自动关机

  如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启


vim安装

i. 那么如何安裝 vim 呢?

输入rpm -qa|grep vim 命令, 如果 vim 已经正确安裝,会返回下面的三行代码:


root@server1 [~]# rpm -qa|grep vim


vim-enhanced-7.0.109-7.el5


vim-minimal-7.0.109-7.el5


vim-common-7.0.109-7.el5


如果少了其中的某一条,比如 vim-enhanced 的,就用命令 yum -y install vim-enhanced 来安裝:


yum -y install vim-enhanced


如果上面的三条一条都沒有返回, 可以直接用 yum -y install vim* 命令


yum -y install vim*


查找字符串

 

按下回车,可以看到vim把光标移动到该字符处

 

再按n(小写)查看下一个匹配

 

按N(大写)查看上一个匹配

安装配置SSH

 1.检查是否安装openssh-server:  

 #yum list installed | grep openssh-server

 

 安装openssh-server:

#yum install openssh-server

 

 2.修改sshd_config:

#vi /etc/ssh/sshd_config      #Port 22是linux默认ssh端口,自定义SSH端口必须避开系统已使用端口尽量大于10000修改如下:

#Port 22            #保留这行或者去掉前面‘#’号

Port 10000             #添加要开放的端口

Centos7开启SSH服务 - KinwingHU - 博客园


首先,要确保CentOS7安装了  openssh-server,在终端中输入


 yum list installed | grep openssh-server




安装 yum install openssh-server




编辑:vim /etc/ssh/sshd_config




然后开启允许远程登录


 


最后,开启使用用户名密码来作为连接验证


 


保存文件,退出


(群晖docker centos7 启动sshd:成功才可显示:# /usr/sbin/sshd -D &   )


  开启  sshd  服务,输入 sudo service sshd start


 


检查  sshd  服务是否已经开启,输入ps -e | grep sshd


 


或者输入netstat -an | grep 22  检查  22 号端口是否开启监听


、为了免去每次开启 CentOS 时,都要手动开启  sshd 服务,可以将 sshd 服务添加至自启动列表中,


输入systemctl enable sshd.service


 


可以通过输入systemctl list-unit-files | grep sshd,查看是否开启了sshd 服务自启动




 


远程ssh连接 docker cenots7

配置ssh: vim /etc/ssh/sshd_config


完整设置


# This sshd was compiled with PATH=/usr/local/bin:/usr/bin

 

# The strategy used for options in the default sshd_config shipped with

# OpenSSH is to specify options with their default value where

# possible, but leave them commented.  Uncommented options override the

# default value.

 

# If you want to change the port on a SELinux system, you have to tell

# SELinux about this change.

# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

#

Port 22

#AddressFamily any

ListenAddress 0.0.0.0

ListenAddress ::

 

HostKey /etc/ssh/ssh_host_rsa_key

#HostKey /etc/ssh/ssh_host_dsa_key

HostKey /etc/ssh/ssh_host_ecdsa_key

HostKey /etc/ssh/ssh_host_ed25519_key

 

# Ciphers and keying

#RekeyLimit default none

 

# Logging

#SyslogFacility AUTH

SyslogFacility AUTHPRIV

#LogLevel INFO

 

# Authentication:

 

#LoginGraceTime 2m

#PermitRootLogin yes

#StrictModes yes

#MaxAuthTries 6

#MaxSessions 10

 

#PubkeyAuthentication yes

 

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2

# but this is overridden so installations will only check .ssh/authorized_keys

AuthorizedKeysFile      .ssh/authorized_keys

 

#AuthorizedPrincipalsFile none

 

#AuthorizedKeysCommand none

#AuthorizedKeysCommandUser nobody

 

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts

#HostbasedAuthentication no

# Change to yes if you don't trust ~/.ssh/known_hosts for

# HostbasedAuthentication

#IgnoreUserKnownHosts no

# Don't read the user's ~/.rhosts and ~/.shosts files

#IgnoreRhosts yes

 

# To disable tunneled clear text passwords, change to no here!

#PasswordAuthentication yes

#PermitEmptyPasswords no

PasswordAuthentication yes

 

# Change to no to disable s/key passwords

#ChallengeResponseAuthentication yes

ChallengeResponseAuthentication no

 

# Kerberos options

#KerberosAuthentication no

#KerberosOrLocalPasswd yes

#KerberosTicketCleanup yes

#KerberosGetAFSToken no

#KerberosUseKuserok yes

 

# GSSAPI options

GSSAPIAuthentication yes

GSSAPICleanupCredentials no

#GSSAPIStrictAcceptorCheck yes

#GSSAPIKeyExchange no

#GSSAPIEnablek5users no

 

# Set this to 'yes' to enable PAM authentication, account processing,

# and session processing. If this is enabled, PAM authentication will

# be allowed through the ChallengeResponseAuthentication and

# PasswordAuthentication.  Depending on your PAM configuration,

# PAM authentication via ChallengeResponseAuthentication may bypass

# the setting of "PermitRootLogin without-password".

# If you just want the PAM account and session checks to run without

# PAM authentication, then enable this but set PasswordAuthentication

# and ChallengeResponseAuthentication to 'no'.

# WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several

# problems.

UsePAM yes

 

#AllowAgentForwarding yes

#AllowTcpForwarding yes

#GatewayPorts no

X11Forwarding yes

#X11DisplayOffset 10

#X11UseLocalhost yes

 

# Set this to 'yes' to enable PAM authentication, account processing,

# and session processing. If this is enabled, PAM authentication will

# be allowed through the ChallengeResponseAuthentication and

# PasswordAuthentication.  Depending on your PAM configuration,

# PAM authentication via ChallengeResponseAuthentication may bypass

# the setting of "PermitRootLogin without-password".

# If you just want the PAM account and session checks to run without

# PAM authentication, then enable this but set PasswordAuthentication

# and ChallengeResponseAuthentication to 'no'.

# WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several

# problems.

UsePAM yes

 

#AllowAgentForwarding yes

#AllowTcpForwarding yes

#GatewayPorts no

X11Forwarding yes

#X11DisplayOffset 10

#X11UseLocalhost yes

#PermitTTY yes

#PrintMotd yes

#PrintLastLog yes

#TCPKeepAlive yes

#UseLogin no

#UsePrivilegeSeparation sandbox

#PermitUserEnvironment no

#Compression delayed

#ClientAliveInterval 0

#ClientAliveCountMax 3

#ShowPatchLevel no

#UseDNS yes

#PidFile /var/run/sshd.pid

#MaxStartups 10:30:100

#PermitTunnel no

#ChrootDirectory none

#VersionAddendum none

 

# no default banner path

#Banner none

 

# Accept locale-related environment variables

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

 

# override default of no subsystems

Subsystem       sftp    /usr/libexec/openssh/sftp-server

 

# Example of overriding settings on a per-user basis

#Match User anoncvs

#       X11Forwarding no

#       AllowTcpForwarding no

#       PermitTTY no

#       ForceCommand cvs server

------------------------------------------------------------------------------------------------------------------



部分参考 


docker中centos7安装ssh服务 - 少时不知贵 - 博客园


Linux系统安装docker并用ssh登录docker容器_hpf247的博客-CSDN博客_docker ssh


docker 容器开启ssh - 阮小七 - 博客园


群晖nas通过docker安装宝塔面板,摇身一变为全能web服务器 > oD^Blog


配置 使用外网Xshell ssh连接 docker centos7 (从这里开始配置centos)

 (0)安装ifconfig命令: yum install net-tools 

(1)安装ssh服务 :yum install openssh-server

(2)安装vim:  yum -y install vim*

(3)编辑ssh配置参考上面 : vim /etc/ssh/sshd_config  (按i去除# 开放22端口) wq(保存) q(退出) q!(强制退出) /字符串 (搜索字符串 n寻找下个 N寻找上一个) 按上面配置

(4)启动sshd:

 

 /usr/sbin/sshd -D &  //启动服务

 

这时报以下错误:

[root@ b3426410ff43 /]# /usr/sbin/sshd

Could not load host key: /etc/ssh/ssh_host_rsa_key

Could not load host key: /etc/ssh/ssh_host_ecdsa_key

Could not load host key: /etc/ssh/ssh_host_ed25519_key

 

执行以下命令解决:

 

[root@b3426410ff43 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''

[root@b3426410ff43 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

[root@b3426410ff43 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

 

然后再 启动sshd:

/usr/sbin/sshd -D &  

 

远程ssh已经开通

 

(5) 修改root 密码

 [root@b5926410fe60 /]# passwd root

 

netstat -an | grep 22 检查22端口是否开启

 

如报:bash: netstat: command not found 

请安装(0)ifconfig命令: yum install net-tools 



应用启动容器,进入终端,输入命令安装宝塔面板


安装宝塔命令


yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh








还需要配置21 端口,路由器开放端口


 地址就是群晖:192.168.50.5:8889/d2009dcf




安装docker官方教程


Install Docker Engine on CentOS | Docker Documentation


参考博客


CentOS安装Docker-ce并配置国内镜像 - 东北小狐狸 - 博客园


添加阿里镜像稳定版仓库


$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

 设置开机自启并启动Docker

sudo systemctl enable docker

 

# 设置开机启动

systemctl enable docker

 

sudo systemctl start docker

 

更换国内源

sudo mkdir -p /etc/docker

 

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://k7en6s5m.mirror.aliyuncs.com"]

}

EOF

 

sudo systemctl daemon-reload

sudo systemctl restart docker

安装 maven

解压:tar vxf apache-maven-3.5.2-bin.tar.gz

移动:mv apache-maven-3.5.2 /usr/local/maven3


jdk安装 - 烂城 - 博客园 自己博客


使用 Docker 部署 Spring Boot 项目

将项目 spring-boot-docker 拷贝服务器中,进入项目路径下进行打包测试。


进入项目才能执行mvn




使用 DockerFile 构建docker镜像: 


mvn package docker:build



#打包

mvn package

#启动

java -jar target/spring-boot-docker-1.0.jar

Docker容器 暴露多个端口


1、创建容器是指定


docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>

启动docker


sudo systemctl start docker  //启动

 

docker images //查看镜像

 

service docker stop //关闭docker 

 

强制清除docker目录镜像文件

 

//删除/var/lib/docker/image/overlay2/imagedb/content/sha256下的文件即可

 

rm -rf /var/lib/docker/image/overlay2/imagedb/content/sha256

 

附docker常用命令:

重启docker服务  sudo service docker restart

 

关闭docker服务  docker service docker stop

 

开启docker服务  docker service docker start

 

查看当前运行的容器:docker ps

 

查询存在的容器:docker ps -a

 

删除容器:docker -rm  CONTAINERID 

 

强制删除容器:docker -rm -f  CONTAINERID 

 

使用docker images命令 


docker images

REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE

springboot/spring-boot-docker   latest              99ce9468da74        6 seconds ago       117.5 MB

运行docker镜像


先运行docker images 再查看对应运动镜像

 

docker run -p 8080:8080 -t springboot/spring-boot-docker

 

docker run -p 8085:80 -t springboot/docker

 

docker run -p 8085:8080 -p 8086:8443 -t springboot/docker    //多端口设置

 

docker run -p 本机端口:docker端口 -t 镜像名

docker端口被占用解决 




 查看当前端口

iptables -t nat -nL --line-number |grep 80

 

根据编号删除规则 

   iptables -t nat -D DOCKER $num 

   iptables -t nat -D DOCKER 2

删除docker镜像

docker删除镜像Error response from daemon: conflict: unable to remove repository reference_persistence勿忘初心-CSDN博客


要删除全部image的话直接输入




docker rmi $(docker images -q)

Docker无法删除images,出现这个错误是因为依赖container,可能有多个container


1.进入root权限

 

sudo su

 

 

2. 列出所有运行或没有运行的镜像

 

docker ps  -a 

 

 

3.停止container,这样才能够删除其中的images:

 

.停止所有的容器container

 

docker stop $(docker ps -a -q)

 

 

如果想要删除一个container的话加一个指令:

 

docker rm  ID或者name

docker rm  $(docker ps -a -q) //全部删除

4.查看当前有些什么images

 

docker images

 

 

5.相关容器关闭后,删除对应的images,通过image的id来指定删除谁

 

关键 要删除全部image的话

 

docker rmi $(docker images -q) 

删除docker镜像操作流程 




-----------------------------------------------------------------------------------------------------------------------------------------------------------------


springboot配置https访问

 生成证书

如果配置了JAVA开发环境,可以使用keytool命令生成证书。我们打开控制台,输入:


keytool -genkey -alias tomcat -dname "CN=Andy,OU=kfit,O=kfit,L=HaiDian,ST=BeiJing,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365

application.properties 




使用阿里申请的ssl 


如何让springboot打包的项目部署在阿里云上使用https和http方式访问 - JFaith - 博客园


application.yml


server:

  servlet:

    #配置访问的项目路径

    context-path: /

    #配置HTTPS访问端口

  port: 8443

  ssl:

    enabled: true

    key-store: classpath:xx.top.pfx

    key-store-password: xx

#配置http访问端口

http:

  port: 8080

@Configuration

public class TomcatConfig {

    

    @Bean

    public ServletWebServerFactory servletContainer() {

        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();

        tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http

        return tomcat;

    }

 

    // 配置http

    private Connector createStandardConnector() {

        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");

        connector.setPort(8080);//nginx需要代理的端口,这里我直接写固定了,这里的端口是yml文件中的8080端口,你可以直接取yml文件的端口

        return connector;

    }

}

 cd 进入java项目 构建docker




设置双端口http/https 


docker run -p 8085:8080 -p 8086:8443 -t springboot/docker    




 安装nginx

docker pull nginx   拉取

 

docker images 查看镜像

 

docker run -d --name nginx01 -p 3535:80 nginx  启动 

 

docker run -d --name nginx01 -p 3535:80 -p 3636:443 nginx  http/https启动

 

docker start a54d644c20ae //启动已存在容器

 

docker restart 7c9105129793  //重启容器

 

docker ps  查看运行

 

curl localhost:3535 测试页面

 

查看nginx的运行状态:docker ps|grep nginx

 

docker attach 容器id  //进入容器命令模式

 

docker exec -it 容器名字 /bin/bash   进入容器交互模式 exit退出交互

 

mkdir -p /data/nginx/{conf,conf.d,html,logs,ssl}  //创建将要挂载的目录

 

docker run -it -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx /bin/bash //挂载nginx.conf

 

docker run -it -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx /bin/bash  //挂载default.conf

 

docker run -it -v /data/nginx/html:/usr/share/nginx/html nginx /bin/bash //挂载html

 

docker run -it -v /data/nginx/logs:/var/log/nginx   nginx /bin/bash //挂载日志

 

docker run -it -v /data/nginx/ssl:/ssl  nginx /bin/bash  //挂载ssl证书

 

#一次挂载5个

docker run -it -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf   -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf  -v /data/nginx/html:/usr/share/nginx/html  -v /data/nginx/logs:/var/log/nginx -v /data/nginx/ssl:/ssl nginx /bin/bash

 

docker cp 7dca3a0d8141:/usr/share/nginx/html/50x.html /data/nginx/html //从容器拷贝文件到宿主机

 

#docker cp 宿主机中要拷贝的文件名及其路径 容器名:要拷贝到容器里面对应的路径

docker cp /opt/test/file.txt mycontainer:/opt/testnew/ //从宿主机拷贝文件到容器

 

cat nginx.conf //在docker容器查看内容 

 

docker run --name mynginx -d -p 82:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx    //启动并挂载

 

 

#1.运行mgomx开启端口&挂载

docker run --name nginx01 -p 3636:80 -p 3535:443 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf   -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf  -v /data/nginx/html:/usr/share/nginx/html  -v /data/nginx/logs:/var/log/nginx -v /data/nginx/ssl:/ssl -d nginx /bin/bash

 

#2. 第二种也可以

docker run --detach \

        --name nginx01 \

        -p 443:443\

        -p 80:80 \

        -v /data/nginx/html:/usr/share/nginx/html:rw\

        -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf/:rw\

        -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw\

        -v /data/nginx/logs:/var/log/nginx/:rw\

        -v /data/nginx/ssl:/ssl/:rw\

        -d nginx

 

# 查看配置文件是否配置成功

nginx -t

 

# 重启你的本机nginx

service nginx restart

 

 

 

--------------------------------------------------------------------------------

 

docker容器里无法使用vi命令 解决办法

 

1. apt-get update

2. apt-get install vim

#按这篇文章配置成功


https://www.jianshu.com/p/5f9bd492f186


Docker中运行nginx并挂载本地目录到镜像中 - HaydenGuo - 博客园


nginx创建配置文件

vim /data/nginx/conf/nginx.conf    #docker位置 etc/nginx/nginx.conf


 docker run -it -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx /bin/bash   挂载nginx.conf


#运行nginx的用户

user  nginx;

#启动进程设置成和CPU数量相等

worker_processes  1;

 

#全局错误日志及PID文件的位置

error_log  /var/log/nginx/error.log warn;

pid        /var/run/nginx.pid;

 

#工作模式及连接数上限

events {

        #单个后台work进程最大并发数设置为1024

    worker_connections  1024;

}

 

 

http {

        #设定mime类型

    include       /etc/nginx/mime.types;

    default_type  application/octet-stream;

 

        #设定日志格式

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';

 

    access_log  /var/log/nginx/access.log  main;

 

    sendfile        on;

    #tcp_nopush     on;

 

        #设置连接超时的事件

    keepalive_timeout  65;

 

        #开启GZIP压缩

    #gzip  on;

 

    include /etc/nginx/conf.d/*.conf;

}

  vim /data/nginx/conf.d/default.conf  #docker位置 /etc/nginx/conf.d/default.conf


server {

    listen    80;       #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉

    listen    443 ssl;

    server_name  www.buagengen.com;             #域名

 

    # 增加ssl

    #ssl on;        #如果强制HTTPs访问,这行要打开

    ssl_certificate /ssl/server.crt;

    ssl_certificate_key /ssl/server.key;

 

    ssl_session_cache    shared:SSL:1m;

    ssl_session_timeout  5m;

 

     # 指定密码为openssl支持的格式

     ssl_protocols  SSLv2 SSLv3 TLSv1.2;

 

     ssl_ciphers  HIGH:!aNULL:!MD5;  # 密码加密方式

     ssl_prefer_server_ciphers  on;   # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码

 

     # 定义首页索引目录和名称

     location / {

        root   /usr/share/nginx/html;

        index  index.html index.htm;

     }

 

    #重定向错误页面到 /50x.html

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   /usr/share/nginx/html;

    }

}

vim /data/nginx/html/index.html 


<html>

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title>系统时间</title>

</head>

<body>

<div id="datetime">

    <script>

        setInterval("document.getElementById('datetime').innerHTML=new Date().toLocaleString();", 1000);

    </script>

</div>

</body>  

 安装tomcat


docker run -it --rm tomcat:9.0  //一般用来测试,用完即删

 

docker pull tomcat:9.0

 

docker run -d -p 8111:8080 --name tomcat01 tomcat  //启动

 

docker exec -it tomcat01 /bin/bash  //进入容器交互

 

cp -r webapps.dist/* webapps  //在容器里拷贝webapps.dist 到webapps(原因是webapps空的)

 安装mysql


docker pull mysql:5.7   //拉取

 

docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7 //-e设置环境配置 设置mysql密码,启动

 

 

docker exec -it 232529bf287f /bin/bash

 

mysql -uroot -p

 

set password for root@localhost = password('123456'); //修改密码

 

1.开启远程访问权限

 

use mysql;

 

select host,user from user;

 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

 

flush privileges;

 

重启docker

systemctl restart docker


————————————————

版权声明:本文为CSDN博主「烂城」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/ZXFGHSQ/article/details/106435179


forfiles 命令
 
例:forfiles /p "c:\test" /s /m *.log /d -30 /c "cmd /c del @path /q /f"
删除 c:\test及子目录下 所有log扩展名 修改时间在30天以前的文件
例:删除 c:\test及子目录下 所有log扩展名 修改时间在30天以前的文件
set SrcDir=E:\software
set DaysAgo=7
forfiles /p %SrcDir% /s /d -%DaysAgo% /c "cmd /c del /f /q /a @path && rd /s /q @path"


例:逻辑盘空间不足10G

@echo off
set vol=E
for /f "tokens=2* delims=:" %%a in ('fsutil volume diskfree %vol%:') do set free=%%a
set free=%free:~0,-6%
echo %free%
if %free% lss 10000 echo 这个逻辑盘空间不足10G




@path是forfiles命令中/c 参数变量

默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file    - 返回文件名。
@fname   - 返回不带扩展名的文件名。
@ext     - 只返回文件的扩展。
@path    - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir   - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize   - 以字节为单位返回文件大小。
@fdate   - 返回文件上一次修改的日期。
@ftime   - 返回文件上一次修改的时间。


forfiles /p "E:\cloud\ApacheTomcat_K3Cloud\logs" /s /m *.* /d -30 /c "cmd /c del @path /q /f"


forfiles /p "E:\cloud\ApacheTomcat_K3Cloud\logs" /s /m *.* /d -30 /c "cmd /c echo @path"


如果你想学习ABAP编程,建立一个ABAP的环境练习编程,你得先建立服务端(版本是ECC6)。再安装客户端(GUI7.6)。我的服务器是HP ML10 Gen9.软件用的是windows10.


文章目录

一 建立服务端的方法

1.1 首先下载虚拟机

1.2 下载虚拟文件

1.3 启动服务

1.4 还要输入相应的密码

1.5 以下这表示SAP server端成功

1.6 内存提示

二 以下是客户端的安装方法

2.1 [ABAP下载](https://pan.baidu.com/s/1QCXWhhS3BGe-rmBI-CJ0EA)

2.2 安装

2.3 配置客户端

2.4 以下则表示成功;

2.5 如果是开发,可能还需要access key

三 总结

3.1 windows2012不能使用

3.2 windows2008不能用

3.3 安装windows 10

3.4 打补丁

3.5 各种ECC的版本

一 建立服务端的方法

1.1 首先下载虚拟机

首先先建立虚拟机(在window 下建立此虚拟机)

VMVARE链接

提取码:prtb


1.2 下载虚拟文件

虚拟机文件链接

提取码:hm0d

在虚拟机设置过程中一定要桥接,不然没办法访问。

桥接技巧分享

ECC下的0和1成功,则表示OK。


1.3 启动服务



1.4 还要输入相应的密码



1.5 以下这表示SAP server端成功



1.6 内存提示

我的电脑是32G内存(windows10下windows2003),SAP服务跑起来就还有3G内存。



启动一次,然后关闭再加内存,虚拟机硬盘是加了不空间.


二 以下是客户端的安装方法

2.1 ABAP下载

下载码:kruj




2.2 安装













2.3 配置客户端




以上是客户端设置,主要是IP(我这用的是公网的IP,如果只是局域网就用局域网IP)


2.4 以下则表示成功;



2.5 如果是开发,可能还需要access key




KEY链接

提取码:63is


三 总结

作为学习环境来来,不一定需要最新的版本,老一点的版本学习环境更容易建立起来;还有对硬件要求没有这么高。SAP对内存要求的还是比较高,对硬盘要求的也要高一点;最好SSD,要么做RAID的硬盘。最好买一台二手的服务器,要么配置较高的主机建立服务器,我的虚拟机版本是2003,硬件要求不高。


以下是我遇到的一些错误


3.1 windows2012不能使用

我直接 在citrix xenserver下安装的windows2012,然后再安装VM workstation,然后导入不了,出以下的错误,没有解决;



3.2 windows2008不能用

安装windows2008,USB键盘和鼠标不能认别;




3.3 安装windows 10

以上两种方法不行的情况下,我于是使用了windows10的专业版,然手安装了vm workstation,然后再导入虚拟机文件,服务器开启后,基本上7.8天需要重启,稳定性不是太好,还有有一个报错,但不影响使用。


3.4 打补丁

正式的是需要补丁,但自己练习的时候就不用打补丁!


3.5 各种ECC的版本

以下是下载合集

链接:

提取码:4iz8

————————————————

版权声明:本文为CSDN博主「Harryjing2018」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/beyond911/article/details/104708949


在VMware Workstation中创建虚拟机后,配置虚拟机的网络连接有3种模式,分别是:


1.桥接模式(VMnet0)


2.NAT模式(VMnet8)


3.仅主机模式(VMnet1)


这三种网络连接模式有什么用途及其区别是什么,以下简单介绍。


VMware Workstation安装好之后会多出两个网络连接,分别是VMware Network Adapter VMnet1(用于仅主机模式)和VMware Network Adapter VMnet8(用于NAT模式),这两个是可以在主机的网络连接中查看到的,还有一个是VMnet0(用于桥接模式),可以在virtual network editor中看到。这三个虚拟网络都是VMware安装好之后自动生成的,不需要手动修改。VMnet8和VMnet1提供DHCP服务,VMnet0默认则不提供。


桥接模式( Bridged )



桥接模式是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟网卡和主机物理网卡通过VMnet0虚拟交换机进行桥接。虚拟交换机相当于一台现实网络中的交换机,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络,物理网卡和虚拟网卡处于同一网段。就好像局域网中添加了一台新的、独立的计算机一样。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。


桥接模式网络连接支持有线和无线主机网络适配器。如果你想把虚拟机当做一台完全独立的计算机看待,并且允许它和其他终端一样的进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。虚拟机设置了IP地址,其他主机就可以通过这个IP地址直接访问虚拟机,如果虚拟机要上外网,还需要配置虚拟机的路由地址(默认网关)和DNS服务器(Google的DNS服务器:8.8.8.8)。


NAT模式 ( 网络地址转换模式 )



NAT模式,即网络地址转换(Nerwork Address Translation),是VMware创建虚拟机的默认网络连接模式。NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用于在主机和虚拟机之间相互通信。虚拟机借助NAT功能,通过宿主机器所在网络来访问公网,虚拟机向外部网络发送的请求数据,都会交由NAT网络适配器以主机的名义转发出去,外部网络返回的响应数据,也是先由主机接收,然后交由NAT网络适配器转发给对应的虚拟机。因此,虚拟机在外部网络中不必具有自己的IP地址,虚拟机的网卡和物理网卡不在同一个网段,虚拟机的网卡,是在VMware提供的一个虚拟网络,从外部网络来看,虚拟机和主机在共享一个IP地址。NAT模式可以上外网,默认情况下,外部网络终端无法访问到虚拟机,但是可以通过手动修改NAT设置实现端口转发功能,将外部网络发送到主机指定端口的数据转发到指定的虚拟机上。


如果你想创建一个虚拟机只给自己使用,不需要给局域网其他人用,就可以选择NAT模式。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务提供的,只要虚拟机的网络配置是DHCP,那么不需要进行其他任何配置,只要宿主机器能访问互联网,虚拟机就可以。在一台主机上只允许有一个NAT模式的虚拟网络,因此,同一台主机上采用NAT模式网络连接的多个虚拟机之间也可以互相访问。如果你想创建多个虚拟机集群,作为自己测试使用,也可以使用NAT模式。


仅主机模式 ( Host-only )



仅主机模式,比NAT模式更加封闭,是一种全封闭的网络模式,它唯一能访问的就是主机。仅主机模式没有NAT服务,所以默认情况下虚拟机网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network AdapterVMnet1虚拟网络来实现的。


同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么他们之间可以相互通信,如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信)。


小结

VMware Workstation的3种网络连接模式各有其特点、


~~NAT模式


`NAT模式是最简单的`,基本不用手动配置IP地址等相关参数

1

~~桥接模式


`桥接模式可以与外网相互通信,但需要额外的IP地址并配置路由信息`,

如果在内网环境还容易,如果是ADSL宽带就比较麻烦了,

ISP是不会很大方的多提供一个公网IP的

1

2

3

~~仅主机模式


`仅主机模式的网络连接宗旨就是建立一个与外界隔离的内部网络`,

来提高内网的安全性。 

1

2


————————————————

版权声明:本文为CSDN博主「辉猪子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_48930261/article/details/108425591


巧用netsh命令实现端口转发(端口映射)

好处:即时生效,随意修改删除,不影响其他ip映射

记事本保存为bat格式批量添加后,并查看映射:

netsh interface portproxy add v4tov4 listenport=701 connectaddress=192.168.157.130 connectport=701

netsh interface portproxy add v4tov4 listenport=2463 connectaddress=192.168.157.130 connectport=2468

netsh interface portproxy add v4tov4 listenport=1993 connectaddress=192.168.157.130 connectport=1982

netsh interface portproxy add v4tov4 listenport=50003 connectaddress=192.168.157.130 connectport=55555

netsh interface portproxy show all
巧用netsh命令实现端口转发(端口映射)

cmd.exe

cmd命令执行

查看所有端口转发代理参数:

netsh interface portproxy show all
使用示例一:单ip转发

将本地的8080端口的数据转发至192.168.56.101上的8080端口,也可以转发到其他外网ip

添加:

netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.56.101 connectport=8080
删除:

netsh interface portproxy delete v4tov4 listenport=8080
使用实例二:双ip 多ip可以用下面

添加一个IPV4到IPV4的端口映射,也就是指定一个ip

添加:

netsh interface portproxy add v4tov4 listenaddress=192.168.193.1 listenport=701 connectaddress=192.168.192.128 connectport=701


指定监听ip和端口可以删除

删除:

netsh interface portproxy delete v4tov4 listenaddress=192.168.193.1 listenport=701
故障解决方法:

2003 xp系统需要安装IPV6(否则端口转发不可用!)2008 2012系统直接执行上面的命令

安装命令:

netsh interface ipv6 install
重要开启IPv6服务:

安装后还要打开管理工具-服务-IPv6 Helper Service 启动 否则映射端口后仍然不能连接

win7系统以后的系统 服务是IP Helper

还要注意系统防火墙关闭.

命令“netsh firewall set opmode disable”用来禁用系统防火墙,相反命令“netsh firewall set opmode enable”可启用防火墙。

花生壳的“内网穿透”,无需公网IP、无需路由端口映射就可以通过固定的域名实现ERP远程访问,而且搭建和操作过程非常简单,无需专业的运维人员进行管理,节省了非常的成本,全面提高了办公效率,是高效解决ERP远程访问难题的致胜法宝。

花生壳是一套完全免费的动态域名解析服务客户端软件。当您安装并注册该项服务,可实现在家或者异地搭建网站、FTP、Mail、 异地或分支机构访问办公OA、CRM、ERP系统。“花生壳”支持的线路包括普通电话线、ISDN、ADSL、有线电视网络、双绞线到户的宽带网和其它任何能够提供互联网真实IP的接入服务线路,而无论连接获得的IP属于动态还是静态。利用宽带联接搭建视频监控,视频会议系统等。

有了花生壳的“内网穿透”服务,无需公网IP、无需路由端口映射就可以通过固定的域名访阅内网资源与服务。这款可穿透内网的动态域名解析软件,为全球1400多万用户提供服务,深受企业与个人的喜爱。更难得可贵的是,它还提供了免费版的花生壳内网穿透服务,提供给个人或者新手体验。花生壳软件目前有免费版可以使用,真是学生党们的福利!