当前位置: 首页 > 工具软件 > SmartShop > 使用案例 >

smartShop部署

胡霖
2023-12-01

1.Htop(视图化top)

yum -y install epel-release
yum -y install htop

 2.Nginx

由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库。
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

yum -y install wget
wget https://nginx.org/download/nginx-1.16.1.tar.gz

 解压nginx压缩包

tar -zxvf nginx-1.16.1.tar.gz

 配置Nginx编译环境

cd nginx-1.16.1
./configure --prefix=/usr/local/nginx 

 编译&安装

make & make install

nginx安装到了/usr/local/nginx

启动
cd /usr/local/nginx/sbin 
./nginx

重点目录和文件如下:

目录/文件说明备注
conf配置文件的存放目录
conf/nginx.confNginx的核心配置文件conf下有很多nginx的配置文件,我们主要操作这个核心配置文件
html存放静态资源(html, css, )部署到Nginx的静态资源都可以放在html目录中
logs存放nginx日志(访问日志、错误日志等)
sbin/nginx二进制文件,用于启动、停止Nginx服务

nginx使用教程请参考 Nginx中文文档 (https://www.nginx.cn/doc/)

  server {
    listen 80;
    listen [::]:80;
    server_name 域名;
    return 301 https://域名/$request_uri;
  }
  server{
    listen 443 ssl ;
    listen [::]:443 ssl ;
    server_name 域名;
    #SSL
    ssl_certificate /etc/nginx/ssl/域名证书.crt;
    ssl_certificate_key /etc/nginx/ssl/域名证书.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
        
     #后端接口
    location /api/ {
      if ($request_method = OPTIONS ) {
          add_header Access-Control-Allow-Origin "*";
          add_header Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, DELETE, HEAD";
          add_header Access-Control-Max-Age "3600";
          add_header Access-Control-Allow-Headers "DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorizationi, *";
          add_header Access-Control-Allow-Credentials "true";
          add_header Content-Length 0;
          add_header Content-Type text/plain;
          return 204;
      }

       add_header 'Access-Control-Allow-Origin' "*";
       add_header 'Access-Control-Allow-Methods' 'POST, GET, PUT, OPTIONS, DELETE, HEAD';
       add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,*';
       add_header 'Access-Control-Allow-Credentials' 'true';
       add_header Access-Control-Max-Age "3600";
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       proxy_pass http://127.0.0.1:10999/;
    }
   }

 

 补充:

在YUM中更新Nginx软件包
sudo yum install epel-release

sudo yum install nginx
将Nginx作为系统服务并启动
sudo systemctl enable nginx
sudo systemctl start nginx
使用以下命令检查服务安装情况
sudo systemctl status nginx 
配置文件都在 /etc/nginx/ 目录中,主要配置文件为:/etc/nginx/nginx.conf

3.Docker安装 

如果之前安装过旧版本的Docker,可以使用下面命令卸载:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

安装docker

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

然后更新本地镜像源:

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

然后输入命令:

yum install -y docker-ce

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

通过命令启动docker:

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

配置镜像加速

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://6pwyjbly.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

开发端口

firewall-cmd --zone=public --add-port=1935/tcp --permanent
刷新防火墙
firewall-cmd --reload
查看已开放端口
firewall-cmd --list-port

4.Docker安装mysql

查询可用镜像 :docker search mysql

下载mysql镜像 :docker pull mysql:8.0

创建文件夹

命令:cd /opt/

命令:mkdir mysql_docker

命令:cd mysql_docker/

命令:echo $PWD

启动dockers镜像

docker run --name mysql8.0 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=public2020 -d -i -p 3306:3306 mysql:8.0

远程访问修改

1.进入容器 :docker exec -it 容器卷id bash

2.进入mysql :mysql -uroot -p

开启远程访问权限

命令:use mysql;
命令:select host,user from user;
命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'public2020';
命令:flush privileges;

5.Rabbitmq

延迟队列docker镜像
下载rabbitmq镜像: docker pull xiaoq123/mq-image:3.8
启动rebbitmq镜像: docker run -d -p 15672:15672 -p 5672:5672 --name rabbitmq --restart always -e RABBITMQ_DEFAULT_USER=xiaoq -e RABBITMQ_DEFAULT_PASS=xiaoq xiaoq123/mq-image:3.8

6.Docker安装Redis

docker search redis 查看redis镜像
docker pull redis:latest 拉取最新镜像
mkdir -p /opt/redis_docker/data //-p 表示递归创建 如果没有就创建
mkdir -p /opt/redis_docker/conf
touch /opt/redis_docker/conf/redis.conf //创建redis.conf 配置文件
编辑redis.conf文件
#bind 127.0.0.1 //允许远程连接
protected-mode no
#protected-mode受保护模式 该模式开启只能通过127.0.0.1访问 无法通过外网访问所以这里要禁用
appendonly yes
# appendonly开启持久化
requirepass testpassWord
#密码 如不需要验证可以不需要

启动redis镜像

docker run -itd --name redis -v /opt/redis_docker/data:/data -v /opt/redis_docker/conf/redis.conf:/etc/redis/redis.conf -d -p 6379:6379 redis:latest redis-server /etc/redis/redis.conf

7.jdk安装

解压JDK相关压缩包
tar -zxvf  对应tar包文件名

vim /etc/profile (配置环境变量)
source /etc/profile (配置生效)
#java
export JAVA_HOME=/opt/software/jdk1.8.0_192(jdk目录)
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

8.nacos安装

解压nacos相关压缩包
tar -zxvf 对应tar包文件名
单机启动命令(linux) sh startup.sh -m standalone
nacos配置修改 naocs/conf/application.properties
路径修改 server.servlet.contextPath=/nacos
端口修改 server.port=8848
数据库修改 # db.num=1
nacos数据库文件naocs/conf/nacos-mysql.sql

9.Nexus安装

解压Nexus相关压缩包
启动命令 ./nexus start
nexus 配置修改 nexus-3.18.1-01/etc/nexus-default.properties
路径修改 nexus-context-path=/
端口修改 application-port=8081
访问地址 ip:port
重置初始化密码  admin
账号为:admin 
密码  more /opt/software/sonatype-work/nexus3/admin.password

10.xxl_ job

docker pull xiaoq123/xxl-job-image:2.1.1

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://数据库地址Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=数据库账号--spring.datasource.password=数据库密码 " -p 9010:8080 -v /tmp:/data/applogs --name xxl-job-admin  --privileged=true -d xiaoq123/xxl-job-image:2.1.1
  
  
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.136.130:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&l&useSSL=false--spring.datasource.username=root --spring.datasource.password=public2020" -p 9010:8080 -v /tmp:/data/applogs --name xxl-job-admin  --privileged=true -d xiaoq123/xxl-job-image:2.1.1

11.settings

附:settings.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为~/.m2/repository。 -->
<localRepository>gitee_repository</localRepository>
<!--Maven 是否需要和用户交互以获得输入。如果 Maven 需要和用户交互以获得输入,则设置成
true,反之则应为 false。默认为
true。 <interactiveMode>true</interactiveMode>
-->
<!-- 使用私有仓库 settings.xml模板-->
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>password</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>password</password>
</server>
<server>
<id>nexus</id>
<username>admin</username>
<password>password</password>
</server>
<server>
<id>harbor</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
<!-- 使用私库,镜像不用配置 -->
<mirrors></mirrors>
<!-- 环境配置,作为企业内应用,只使用内网私库(默认) 和 阿里云(私库维护时) -->
<profiles>
<profile>
<id>medusa</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://nexus地址/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://nexus地址/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- 默认两个永远生效 -->
<activeProfiles>
<activeProfile>xxx</activeProfile>
</activeProfiles>
</settings

 

 类似资料: