# 安全相关

# 防火墙开放端口

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

# openjdk 安装

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

# yum 仓库管理

1
2
3
4
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 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 移除自带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 初始化

1
systemctl start  mysqld.service

修改密码

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

设置远程连接权限

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

# redis 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 执行以下命令升级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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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 相关环境:

    1
    2
    yum -y install gcc
    yum -y install gcc-c++

  4. 卸载旧版本

    1
    2
    3
    4
    5
    6
    7
    8
    yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-lastest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

  5. 安装需要软件包

    1
    yum install -y yum-utils

  6. 设置镜像仓库

    1
    2
    3
    4
    5
    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 软件包索引

    1
    yum makecache fast

  8. 安装 Docker CE

    1
    2
    yum install docker-ce-cli containerd.io
    yum install -y docker-ce

  9. 启动 Docker

    1
    systemctl start docker

  10. 测试命令

    1
    2
    3
    docker version
    docker run hello-world
    docker images

  11. 卸载

    1
    2
    3
    4
    5
    systemctl stop docker

    yum -y remove docker-ce docker-ce-cli containerd.io

    rm -rf /var/lib/docker

# 阿里云镜像加速

1
2
3
4
5
6
7
8
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>

# 可视化面板

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

# Tomcat

1
2
3
4
5
6
7
8
9
# 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 端口映射:-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 支付宝

支付宝