# 安全相关

# 防火墙开放端口

名称端口
Tomcat 外部访问8080-9000
Mysql 远程连接3306
Redis 远程连接6379
RabbitMQ:Web 界面15672
Rabbit: AMQP5672
Rabbit:Stomp61613
Rabbit:MQTT1883

# openjdk 安装

su -c "yum install java-1.8.0-openjdk"

# yum 仓库管理

yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# mysql 安装

# 移除自带 mariab 数据库
yum remove -y `rpm -aq mariadb*`
# 查询本机是否有 mysql
rpm -qa | grep mysql
# 获取 mysql 安装包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 安装
yum -y install mysql57-community-release-el7-10.noarch.rpm
# 关闭 gpg 签名
yum -y install mysql-community-server --nogpgcheck

mysql 初始化

systemctl start  mysqld.service

修改密码

#获取初始密码
grep 'password' /var/log/mysqld.log
ALTER USER USER() IDENTIFIED BY 'root';

设置远程连接权限

grant all privileges on *.* to root@'%' identified by "password";

# redis 安装

# 执行以下命令升级 gcc
yum install gcc-c++ 
# 安装软件集 scl
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile
# 获取安装包
wget https://download.redis.io/redis-stable.tar.gz 
tar -zxvf redis-stable.tar.gz 
# 进入 redis 目录
#编译
make
#安装
make install
##### 安装完成
后台启动
cd /usr/local/redis-stable
cp redis.conf redis.conf.bak
# 编辑配置文件
# 将 bind 注释(远程连接) 
# protected-mode no 无密码登录
# daemonize yes 后台启动
vim redis.conf

# Nginx

# nginx 需要 gcc 环境,没有就安装
yum install gcc-c++
# Nginx 的 http 模块需要使用 pcre 来解析正则表达式,需要安装 pcre
yum install -y pcre pcre-devel
# 安装依赖的解压包
yum install -y zlib zlib-devel
# ssl 功能需要 openssl 库,安装 openssl
yum install -y openssl openssl-devel
# 下载 nginx
wget https://nginx.org/download/nginx-1.22.1.tar.gz
# 解压
tar -zxvf nginx-1.22.1.tar.gz
cd /usr/local/nginx
# 配置安装路径,否则默认 /usr/bin
./configure --prefix=/usr/local/nginx
mkdir logs
#编译
make
#安装,可能会报错,但是会安装成功
make install

# Docker

使用 docker 可以轻松布置环境

# 安装步骤

  1. 官网安装手册:https://docs.docker.com/engine/install/centos/

  2. 确定是 CentOS7 以上版本

  3. yum 安装 gcc 相关环境:

    yum -y install gcc
    yum -y install gcc-c++
  4. 卸载旧版本

    yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-lastest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
  5. 安装需要软件包

    yum install -y yum-utils
  6. 设置镜像仓库

    yum-config-manager \
    --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  7. 更新 yum 软件包索引

    yum makecache fast
  8. 安装 Docker CE

    yum install docker-ce-cli containerd.io
    yum install -y docker-ce
  9. 启动 Docker

    systemctl start docker
  10. 测试命令

    docker version
    docker run hello-world
    docker images
  11. 卸载

    systemctl stop docker
    yum -y remove docker-ce docker-ce-cli containerd.io
    rm -rf /var/lib/docker

# 阿里云镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://qiyb9988.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 实用

<span style="color:red"> 注意!在 Docker 运行的容器是访问不到宿主机其他端口的,localhost 是用不了的,需要用 ip addr show docker0 命令找到 docker 容器能够识别的本机 ip,然后将项目中的连接 ip 修改成获得的 ip</span>

# 可视化面板

docker run -d -p 8088:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

# Tomcat

# tomcat 部署
# 端口映射:-p 8080:8080
# 后台运行:-d
# 容器名:--name
# webapps 挂载 -v /data/docker/tomcat/webapps:/usr/local/tomcat/webapps
# logs 挂载:-v /data/docker/tomcat/logs:/usr/local/tomcat/logs 
# privileged 启动的容器,可以看到很多 host 上的设备,并且可以执行 mount
# --privileged=true
docker run -it -d -p 8080:8080 -v /data/docker/tomcat/logs:/usr/local/tomcat/logs  -v /data/docker/tomcat/webapps:/usr/local/tomcat/webapps --name tomcat --privileged=true tomcat:8.5.59

# Nginx

# 端口映射:-p 80:80
# 后台运行:-d
# 容器名:--name
# 配置文件挂载:-v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
# 虚拟主机配置挂载:-v /data/docker/nginx/conf.d:/etc/nginx/conf.d \
# 证书文件挂载:-v /data/docker/nginx/cert:/etc/nginx/cert \
# 静态资源:-v /data/docker/nginx/html:/usr/share/nginx/html \
# 中文乱码:-e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 \
# privileged 启动的容器,可以看到很多 host 上的设备,并且可以执行 mount
# --privileged=true
docker run -d -p 80:80 --name nginx \
 -v /data/docker/nginx/cert:/etc/nginx/cert \
 -v /data/docker/nginx/html:/usr/share/nginx/html \
 -v /data/docker/nginx/log:/var/log/nginx \
 -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 \
 -v /data/docker/nginx/conf.d:/etc/nginx/conf.d \
 --privileged=true nginx
#运行容器
docker run -d -p 80:80 --name nginx nginx
#进入容器查看需要挂载的文件
docker exec -it nginx /bin/bash
更新于 阅读次数 本文阅读量:

请我喝[茶]~( ̄▽ ̄)~*

Windlinxy 微信支付

微信支付

Windlinxy 支付宝

支付宝