docker环境运行
docker离线版本安装
将docker 的安装包及其依赖包上传到指定目录里:
// 强制安装docker服务
[root@localhost rpm安装包]# rpm -ivh *.rpm --force --nodeps
//--nodeps 安装时不检查依赖关系
//--force 强制安装
// 开启服务
[root@localhost package]# systemctl start docker
// 开机自启docker服务 或 “chkconfig docker on” 命令
[root@localhost ~]# systemctl enable docker
使用 docker save 命令,将该 nginx镜像归档成文件,并写入本地文件中。
docker save -o mynginx.tar 镜像id
使用 docker load 命令将刚归档的镜像文件,载入到镜像。
参数 | 描述 |
docker load -i | 指定导出的文件。 |
docker load -q | 精简输出信息。 |
docker load -i mynginx.tar
可以使用命令:docker tag [image id] [name]:[版本] 命名镜像名以及版本
docker tag 4f380adfc10f nginx:latest
mariadb运行
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=dnhl1234@mariadbPWD -v /data/mariadb/data:/var/lib/mysql -d mariadb
mysql运行
#mysql启动
docker run --name mysql5.7 -p 3306:3306 -d -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 2c9028880e58
docker container update --restart=always d72e7e910ab6 设置容器自启动随docker的启动而启动
redis
docker run --name redis -p 6379:6379 -d 镜像id
docker run --name redis -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "123456"
auth “password” 认证
mariadb 运行
后台部署
后台部署基础镜像为tomcat
创建文件例如需要打 common.war包 pwd(/data/tms/common)
在指定文件夹下创建 vi Dockerfile
FROM tomcat:latest
#维护者
MAINTAINER yj
#将webapp下的全部删除
RUN rm -rf /usr/local/tomcat/webapps/*
#将target下的xx.war拷贝到/usr/local/tomcat/webapps/下
ADD ./*.war /usr/local/tomcat/webapps/ROOT.war #ROOT.war 使用大写默认就是端口号
#端口
EXPOSE 8080
#设置启动命令
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
方便持续使用创建 .sh执行文件
vi run.sh
docker rm -f common
docker rmi common:latest
docker build -t common:latest . #生成镜像
docker run -d -p 8081:8080 --restart=always --name=common common:latest
防火墙
#查看状态
systemctl status firewalld.service
#启动
systemctl start firewalld.service
#重启
systemctl restart firewalld.service
#停止
systemctl stop firewalld.service
#查看规则
firewall-cmd --list-all
#查询端口是否开放
firewall-cmd --query-port=8080/tcp
#开放8080端口
firewall-cmd --permanent --add-port=8080/tcp
#移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#添加路由规则
firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=” 192.168.1.100" port protocol=“tcp” port=“3306” accept"
#附:如果需要删除规则,参考
firewall-cmd --permanent --remove-rich-rule=“rule family=“ipv4” source address=” 192.168.1.100" port protocol=“tcp” port=“3306” accept"
前端部署
前端运行基础镜像
同理创建 Dockerfile pwd(/data/tms/front)
# Dockerfile内容
# 在容器外编译---job_compile job_build
FROM nginx:latest
#维护者
MAINTAINER cyj
COPY ESafe/ /usr/share/nginx/html/
编辑运行文件 .sh
docker rm -f tmsfront
docker rmi tmsfront:latest
docker build -t tmsfront:latest .
docker run --name tmsfront -d -p 80:80 tmsfront
开发环境部署
1.安装Java
指定目录添加文件.gz
pwd(/user/local/java)
解压
tar -zxvf jdk-8u161-linux-x64.tar.gz
#变更目录名
mv jdk1.8-161 jdk8
环境变量配置:
vi /etc/profile
# 最后一行插入
export JAVA_HOME=/usr/local/java/jdk8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
# 更新配置文件 source命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 这些配置文件。
cd /etc
source profile
或者
JAVA_HOME=/usr/local/java/jdk8
CLASSPATH=$JAVA_HOME/lib/
CATALINA_HOME=/usr/local/tomcat8
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export PATH JAVA_HOME CLASSPATH CATALINA_HOME
安装tomcat
解压:
tar -zxvf apache-tomcat-8.5.59.tar.gz
#变更目录名
mv apache-tomcat-8.5.59 tomcat8
启动:
#tomcat安装好之后和windows的tomcat目录一致
#进入到tomcat的bin目录启动tomcat
cd /bin
./startup.sh
停止
./shutdown.sh
运行多个tomcat注意事项 ,进入tomcat文件下面的conf文件夹中 vi server.xml
一定不能重复 停止的时候如果一样将都停止
<Server port="8001" shutdown="SHUTDOWN">
访问端口
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
redis离线安装
下载获得redis-5.0.4.tar.gz后将它放入我们的Linux目录/opt
进行解压
tar -zxvf redis-5.0.4.tar.gz
解压后得到redis-5.0.4 进入目录
1.执行make命令
此时出现错误解析
/bin/sh: cc: 未找到命令
因为linux没有gcc依赖
这里有各种rpm包下载地址
http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
获取到准备好的gcc相关依赖 执行
rpm -ivh *.rpm --force --nodeps
安装好gcc后 再次执行 make命令
会报这个错误 :zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
运行make distclean
之后再make
如果make完成后继续执行make install
修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动
将默认的redis.conf(/opt/redis/redis.conf)拷贝到自己定义好的一个路径下,比如/myconf
启动
/usr/local/bin目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件
redis-sercer /myconf/redis.conf
mysql安装
准备好的压缩包解压后
移动并且重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
cd/user/local
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
配置my.cnf
vim /etc/my.cnf
内容如下
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
初始化数据库
进入mysql的bin目录
cd /user/local/mysql/bin
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码
cat /data/mysql/mysql.err
启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动
service mysql start
ps -ef|grep mysql
修改密码
首先登录mysql,前面的那个是随机生成的。
./mysql -u root -p #bin目录下
再执行下面三步操作,然后重新登录。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
这里主要执行下面三个命令(先登录数据库)
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
nginx
1.在安装Nginx之前,需确保系统已经安装了gcc、 openssl-devel、 pcre-devel和zlib-devel软件库.
所有资源包下载地址:https://pan.baidu.com/s/1M9O9YRdeUzL-QEgTzzn6rw
2.创建临时目录nginx_install存放安装过程中需用到的依赖文件,装完可删除:
mkdir /usr/local/nginx_install
3.将资源包上传到nginx目录:
4.检查gcc、g++环境:
gcc --version
g++ --version
5.pcre安装(用于url rewrite):
# 解压pcre
tar -zxvf pcre-8.38.tar.gz
# 进入解压后的目录
cd pcre-8.38
# 配置
./configure
# 编译
make
# 安装
make install
6.zlib安装(用于gzip压缩):
# 解压zlib
tar -zxvf zlib-1.2.11.tar.gz
# 进入解压后的目录
cd zlib-1.2.11
# 配置
./configure
# 编译
make
# 安装
make install
7.安装openssl(用于https服务):
# 解压openssl
tar -zxvf openssl-1.1.0h.tar.gz
# 进入到解压后的目录
cd openssl-1.1.0h
# 配置
./config
# 编译
make
# 安装
make install
8.安装nginx:
# 解压nginx
tar -zxvf nginx-1.14.0.tar.gz
# 进入到解压后的目录
cd nginx-1.14.0
# 配置
./configure
# 编译
make
# 安装
make install
9.打开配置文件:
vim /etc/rc.d/rc.local
10.设置开机自启动,在rc.local文件中,加入:/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx
11.增加rc.local脚本权限:
chmod +x /etc/rc.d/rc.local
#安装完成之后,会在用户目录/usr/local下生成nginx文件夹,进入到nginx的sbin目录启动nginx
cd /usr/local/nginx/sbin
#启动命令
./nginx
#安装nginx
#关闭命令 s shutdown 关闭的意思 stop 停止
./nginx -s stop
#重新加载
./nginx -s reload
#开放80端口
firewall-cmd --permanent --add-port=80/tcp
#重启防火墙
firewall-cmd --reload
server {
listen 80;
server_name localhost;
location / {
root /var/www/front;
index index.html index.htm;
}
}
server {
listen 1288;
server_name localhost;
location / {
root /var/www/back;
index index.html index.htm;
}
}
运行jar包 输出日志文件并查看
cd到xxx.jar目录下执行:
nohup java -jar external_service-1.0.jar > external.log 2>&1 & --运行jar包并将日志写入到xxx.log中
tail -f xxx.log --查看日志文件