本地虚拟机环境

  • 本地虚拟机环境说明
  • 虚拟机版本
  • 系统版本
  • 1. 安装,这里最小化安装
  • 2. 关闭防火墙
  • Centos 8 软件安装和配置
  • 1.依赖软件
  • 2. liunx 常用命令
  • 3. java环境
  • 4. mysql
  • 5. MongoDB4
  • 6.RabbitMQ安装
  • 安装依赖环境Erlang
  • 安装rabbitMQ
  • 7.fastDFS安装 ([下载地址](https://github.com/happyfish100/FastDFS))
  • - 基础安装
  • - 配置服务(方便管理每个配置一个文件夹)
  • Nginx 模块 fastdfs-nginx-module配置
  • Nginx安装


本地虚拟机环境说明

虚拟机版本

VMware® Workstation 16 Pro 16.1.0 build-17198959

系统版本

CentOS-8.1.1911-x86_64
1. 安装,这里最小化安装
2. 关闭防火墙
##查看防火墙状态
	firewall-cmd --state
	##关闭防火墙
	systemctl stop firewalld.service
	##禁止开机启动
	systemctl disable firewalld.service

Centos 8 软件安装和配置

1.依赖软件
vim  wget  c++等其他依赖软件直接下载安装
2. liunx 常用命令
# 常用命令
    ##刷新环境变量
    source /etc/profile
    ##系统重启
    reboot
        ##解压 tar.gz
    
    #生成 Makefile,为下一步的编译做准备,检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
    ./configure 
    #从Makefile中读取指令,然后编译
   make
    #从Makefile中读取指令,安装到指定的位置
   make install
    
    
    
    #systemctl 常用命令
    ##systemctl 开机启动相关命令 命名xxx.service 放入/etc/systemd/system/文件夹 使用
    ##开机启动服务列表
    systemctl list-unit-files --type=service | grep enabled
    ##设置开机启动的服务
    systemctl enable  [name]
    ##启动服务
    systemctl start [name]
    ##停止服务
    systemctl stop [name]
    ##重启服务
    systemctl restart [name]
    ##移除开机启动项的服务
    systemctl disable [name]
    # 杀死一个服务的所有子进程
    systemctl kill [name]
    # 重新加载一个服务的配置文件
    systemctl reload [name]
    # 重载所有修改过的配置文件
    systemctl daemon-reload
    # 显示某个 Unit 的所有底层参数
    systemctl show [name]
    # 显示某个 Unit 的指定属性的值
    systemctl show -p CPUShares [name]
    # 设置某个 Unit 的指定属性
    systemctl set-property [name] CPUShares=500
    
    #chkconfig 命令
    ### 在/etc/init.d 目录下
    ## 开机启动列表
    chkconfig --list 
    ## 添加开机启动
    chkconfig --add [name]
    ## 删除开机启动
    chkconfig --del [name]
    ## 设置开机启动
    chkconfig [name] on
3. java环境
  • 安装(java version “1.8.0_281”)
  • 环境变量
##java环境配置
	## 编辑 /etc/profile 文件  最后添加
	
	export JAVA_HOME=/opt/java/jdk1.8.0_121
	export  CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
	export  PATH=$PATH:$JAVA_HOME/bin
	## 安装状态
	java -version
4. mysql
  • 安装(8.0.21 for Linux on x86_64)
  • 相关命令
## 启动mysql
	systemctl start mysqld 
## 	加入开机启动
	systemctl enable --now mysqld 
## 启动状态
	systemctl status mysqld
## 配置mysql安全参数如:密码强度,远程访问等	
	mysql_secure_installation
ps: mysql_secure_installation 执行完成后依然可以通过之前修改方法修改密码强度等参数

参数名称有变化
5. MongoDB4
  • 安装
mongodb-linux-x86_64-rhel80-4.4.4.tgz
  • 相关配置(mongo.conf)
#日志配置
systemLog:
  quiet: false # MongoDB试图最大程度精简日志数量,以安静模式运行,不建议生产环境打开
  destination: file # 日志输出的目的地,如果值是file,即文件类型,则必须指定path的值
  path: /usr/local/src/mongodb4.4.4/log/mongod.log # 日志的路径,该值即默认路径
  logAppend: true # 重启MongoDB实例时,是否在同一个文件追加日志,如果为false,则备份原有日志,同时新增日志文件
  verbosity: 2 # 日志的详细程度,范围0-5,默认是0,即最简单日志;最高是5,最详细日志。
#数据库配置
storage:
  dbPath: /usr/local/src/mongodb4.4.4/db # 数据存储位置,该值即默认值,可手动配置
  journal:
    enabled: true # 是否启用持久性日志存储,64位系统默认true,32位默认false
##端口和网络
net:
  port: 27017 # MongoDB监听的tcp端口,默认是27017,建议修改
  bindIp: 0.0.0.0 # 允许链接的IP地址,如需远程连接,应该改为对应IP,或改为0.0.0.0(::,0.0.0.0)以允许所有IPv4(IPv6)链接
  • 启动命令
##启动命令
/usr/local/src/mongodb/bin/mongod --config /usr/local/src/mongodb/bin/mongo.conf  --fork
  • 开机启动服务
$ systemctl cat mongodb.service

#启动顺序与依赖关系
## Description字段给出当前服务的简单描述,Documentation字段给出文档位置。
## After(程序后面启动)和Before(程序前面启动)字段只涉及启动顺序,不涉及依赖关系

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

#启动行为 Service区块定义如何启动当前服务。
## Type字段定义启动类型。
### simple(默认值):ExecStart字段启动的进程为主进程
### forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程
### oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
### dbus:类似于simple,但会等待 D-Bus 信号后启动
### notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
### idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合
## ExecStart字段:定义启动进程时执行的命令。
## ExecReload字段:重启服务时执行的命令
## ExecStop字段:停止服务时执行的命令
## ExecStartPre字段:启动服务之前执行的命令
## ExecStartPost字段:启动服务之后执行的命令
## ExecStopPost字段:停止服务之后执行的命令
## PrivateTmp字段:设置是否使用私有的tmp目录

[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf
PrivateTmp=true

#Install区块,定义如何安装这个配置文件,即怎样做到开机启动
## WantedBy字段:表示该服务所在的 Target。
## 通过multi-user.target 服务组开机启动
[Install]
WantedBy=multi-user.target
6.RabbitMQ安装
安装依赖环境Erlang

1.首先下载Erlang 下载地址 "http://www.erlang.org/downloads/”
将下载好的源码上传到Linux服务器上

2.先安装依赖 "yum install ncurses-devel”

3.执行安装命令"./configure --prefix=/usr/local/[安装目录] --without-javac"

4.进行编译,输入命令"make" , 执行安装命令"make install"

5.进入[安装目录]/bin目录下执行“./erl”命令 查看安装状态

安装rabbitMQ

1.首先下载rabbitMQ 将下载好的源码上传到Linux服务器上 后缀名是“XZ” 先安装XZ压缩软件 解压到安装目录

2.安装相关依赖

3.启动rabbitMQ“./rabbitmq-server”

4.设置开机启动 创建服务文件

#!/bin/bash
    #chkconfig:2345 61 61

    export PATH=$PATH:/usr/local/src/erlang/bin
    export PATH=$PATH:/usr/local/src/rabbitmq_server-3.8.12/sbin
    
    case "$1" in
    start)
    echo "Starting RabbitMQ ..."
    rabbitmq-server  -detached
    ;;
    stop)
    echo "Stopping RabbitMQ ..."
    rabbitmqctl stop
    ;;
    status)
    echo "Status RabbitMQ ..."
    rabbitmqctl status
    ;;
    restart)
    echo "Restarting RabbitMQ ..."
    rabbitmqctl stop
    rabbitmq-server  restart
    ;;
    
    *)
    echo "Usage: $prog {start|stop|status|restart}"
    ;;
    esac
    exit 0

5.开机启动服务创建(systemctl命令)

[Unit]
    Description=rabbitmq
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/src/rabbitmq_server-3.8.12/sbin/rabbitmq start
    ExecReload=/usr/local/src/rabbitmq_server-3.8.12/sbin/rabbitmq status
    ExecStop=/usr/local/src/rabbitmq_server-3.8.12/sbin/rabbitmq stop
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
7.fastDFS安装 (下载地址)
- 基础安装

1、安装基础环境

yum install -y gcc gcc-c++
yum -y install libevent

2、解压libfatscommon函数库

# 解压
tar -zxvf libfastcommon-1.0.43.tar.gz

3、进入libfastcommon文件夹,编译并且安装

./make.sh
./make.sh install

4、解压fastdfs主程序文件

# 解压
tar -zxvf fastdfs-6.06.tar.gz

5、进入fastdfs目录,fastdfs主程序编译并且安装 1 ./make.sh
./make.sh install

6、将安装文件夹下的配置文件拷贝到/etc/fdfs目录下

- 配置服务(方便管理每个配置一个文件夹)

1.配置tracker服务

#复制一份配置文件
cp tracker.conf.sample tracker.conf
############修改配置#################
tracker基础地址
base_path=/usr/local/fastdfs/tracker
配置 http 端口:
http.server_port=80
# 相关命令
##启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
##重启
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
##关闭
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop

2.配置storage服务(多个服务)

#复制一份配置文件
cp storage.conf.sample storage.conf
############修改配置#################
# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker服务的地址和端口号,用于心跳
tracker_server=192.168.0.11:22122
# 相关命令
##启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf  start
##重启
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf  restart
##关闭
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf  stop

3.配置client 测试

#修改配置文件
base_path=/usr/local/fastdfs/client 
   #tracker的ip根据实际tracker的ip地址配置
tracker_server=192.168.0.11:22122
tracker_server=192.168.0.12:22122
##上传文件
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
Nginx 模块 fastdfs-nginx-module配置
  • 模块下载
  • 解压文件 修改/src/config文件,主要是修改路径,把原路径/usr/local/include/修改为/usr/include/ (fastdfs默认安装fastcommon,fastdfs文件到/usr/include/)
  • 将 FastDFS-nginx-module/src 下的 mod_FastDFS.conf 拷贝至/etc/fdfs/下
修改文件mod_FastDFS.conf
  #存储数据和日志文件的基本路径(store0_path存在base_path只存储日志)
  base_path=/usr/local/fastdfs/storage
  #tracker 服务地址
  tracker_server=192.168.200.128:22122
  url_have_group_name = true
  #如果store0_path 不存在使用base_path地址
  store0_path=/usr/local/fastdfs/storage
  ps:目录不存在 注意创建
  • Nginx 生成 Makefile 时增加 --add-module 参数配置解压目录
Nginx安装

1、去官网下载对应的nginx包,推荐使用稳定版本
2、上传nginx到linux系统 3、安装依赖环境

##c++依赖
yum install gcc-c++
##安装PCRE库,用于解析正则表达式
yum install -y pcre pcre-devel
##zlib压缩和解压缩依赖
yum install -y zlib zlib-devel
SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install -y openssl openssl-devel

3、解压nginx包并编译

  • 解压
tar -zxvf  [name]
  • 先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错
mkdir /var/temp/nginx -p
  • 生成 Makefile

|参数|说明 | |–|--| | --prefix | 指定nginx安装目录 | | --pid-path|指向nginx的pid| | --lock-path| 锁定安装文件|
| --error-log-path| 错误日志|
| --http-log-path| http日志|
| --with-http_gzip_static_module| 启用gzip模块,在线实时压缩输出数据流 |
| --http-client-body-temp-path| 客户端请求临时目录|
| --http-proxy-temp-path| http代理临时目录 |
| --http-fastcgi-temp-path| fastcgi临时目录|
| --http-uwsgi-temp-path| uwsgi临时目录|
| --http-scgi-temp-path| scgi临时目录| | --add-module| nginx 增加模块|

## 复制注意换行
		./configure 
        --prefix=/usr/local/src/nginx
        --pid-path=/usr/local/src/nginx/pid/nginx.pid
        --lock-path=/usr/local/src/nginx/lock/nginx.lock
        --error-log-path=/usr/local/src/nginx/log/error.log
        --http-log-path=/usr/local/src/nginx/log/http.log
        --with-http_gzip_static_module
        --http-client-body-temp-path=/usr/local/src/nginx/temp/client
        --http-proxy-temp-path=/usr/local/src/nginx/temp/proxy
        --http-fastcgi-temp-path=/usr/local/src/nginx/temp/fastcgi
        --http-uwsgi-temp-path=/usr/local/src/nginx/temp/uwsgi
        --http-scgi-temp-path=/usr/local/src/nginx/temp/scgi
        --add-module=/usr/local/src/nginx/module/fastdfs-nginx-module-1.22/src
  • 从Makefile中读取指令,然后编译
make
  • 从Makefile中读取指令,安装到指定的位置
make install
  • 修改nginx.conf,添加fastdfs虚拟主机
server {
         listen       8888;
         server_name  localhost;
         location /group1/M00 {
         root /usr/local/fastdfs/storage/data/;
         ngx_fastdfs_module;
         }
     }
  • 常用命令
#启动
./nginx
#停止
./nginx -s stop
#重新加载
./nginx -s reload