centos7 部署nginx mysql kkfileview minio redis nacos kafka单节点

1、创建yum服务端

创建挂载目录

mkdir /mnt/cdrom

sftp上传CentOS-7-x86_64-DVD-2009.iso文件到/data/install-page目录

挂载ISO文件到/mmt/cdrom目录

mount -t iso9660 CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom

备份原yum配置文件

cd /etc/yum.repo/

mkdir yum-backup

mv * yum-backup

创建yum配置文件

vi myiso.repo
[c7-media]

name=CentOS-$releasever - Media

#这里的IP根据现场的yum源决定

#baseurl=http://192.168.1.1/yum

baseurl=file:///mnt/cdrom

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

用wq保存退出

清除yum缓存并创建新缓存

yum clean all

yum makecache

测试yum源

yum list

配置http访问yum服务端文件

cd /data/nginx/conf.d/
vi web.conf
location /yum {

    alias /mnt/cdrom/;

    index index.html index.php index.htm;

    proxy_cache_valid   200 304 12h;

    proxy_cache_valid   any 20m;

    proxy_connect_timeout 60;

    proxy_read_timeout 60;

    proxy_send_timeout 50;

    proxy_buffer_size 32k;

    proxy_buffers 4 64k;

    proxy_busy_buffers_size 128k;

    proxy_temp_file_write_size 128k;

    }

用wq保存退出

2、部署JDK

创建下载目录

mkdir /data/install-page

cd /data/install-page

下载JDK

​
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  Unauthorized Request Java Downloads | Oracle

解压JDK

tar zxvf jdk-8u321-linux-x64.tar.tar.gz

移动JDK并重命名为JAVA

mv jdk1.8.0_32 /data/java

配置JAVA系统环境变量

vim /etc/profile
#JAVA

JAVA_HOME=/data/java/

JRE_HOME=/data/java/jre

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export PATH JAVA_HOME CLASSPATH
source /etc/profile

验证JAVA是否安装成功

java -version

3Nginx部署

创建Nginx安装目录

mkdir /data/nginx

创建Nginx日志目录

mkdir -p /data/nginx/logs/

创建nginx缓存目录

mkdir -p /data/nginx/temp

创建web目录

mkdir /data/nginx/web/

创建run目录

mkdir -p /data/nginx/run

进入安装包目录

cd /data/install-page/

下载nginx1.25.4

​wget http://nginx.org/download/nginx-1.25.4.tar.gz

下载成功后在/data/install下会出现nginx-1.25.4.tar.gz的源码包

使用yum工具nginx所需的安装依赖包

yum -y install pcre pcre-devel openssl openssl-devel gcc gcc-c++ autoconf automake zlib-devel libxml2 libxml2-devel libxslt-devel gd-devel perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel GeoIP-data make  GeoIP-devel GeoIP-update

创建nginx用户

useradd nginx

解压nginx

tar zvxf nginx-1.25.4.tar.gz

隐藏nginx版本信息(根据实际版本更改)

sed -i 's/1024050/0000000/' /home/data/install-page/nginx-1.25.4/src/core/nginx.h

sed -i 's/1.24.5/0.00.0/' /home/data/install-page/nginx-1.25.4/src/core/nginx.h

sed -i 's/nginx/aaaaa/' /home/data/install-page/nginx-1.25.4/src/core/nginx.h

sed -i 's/\"NGINX\"/"AAAAA"/' /home/data/install-page/nginx-1.25.4/src/core/nginx.h

解压完成后进入nginx安装目录

cd nginx-1.25.4

开始编译nginx,以下是编译时所用的参数

./configure --prefix=/data/nginx --error-log-path=/data/nginx/logs/error.log --http-log-path=/data/nginx/logs/access.log --pid-path=/data/nginx/run/nginx.pid --lock-path=/data/nginx/run/nginx.lock --http-client-body-temp-path=/data/nginx/temp/client_temp --http-proxy-temp-path=/data/nginx/temp/proxy_temp --http-fastcgi-temp-path=/data/nginx/temp/fastcgi_temp --http-uwsgi-temp-path=/data/nginx/temp/uwsgi_temp --http-scgi-temp-path=/data/nginx/temp/scgi_temp --user=nginx --group=nginx  --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream   --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

编译完成后开始安装nginx

make

make install

创建nginx启动文件

vim /lib/systemd/system/nginx.service
[Unit]

Description=nginx - high performance web server

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/data/nginx/sbin/nginx

ExecReload=/data/nginx/sbin/nginx -s reload

ExecStop=/data/nginx/sbin/nginx -s stop

[Install]

WantedBy=multi-user.target

用wq保存退出

重新加载systemd,启动nginx及设置nginx开机自启

systemctl daemon-reload

systemctl start nginx

systemctl enable nginx

创建nginx配置文件目录及WEB目录

mkdir /data/nginx/conf.d

修改nginx配置文件

user  nginx;
worker_processes  10;

error_log  /data/nginx/logs/error.log warn;
pid        /data/nginx/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /data/nginx/conf/mime.types;
    default_type  application/octet-stream;
#日志格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
#日志目录
    access_log  /data/nginx/logs/access.log  main;
#响应头缺失
#    add_header X-Permitted-Cross-Domain-Policies value;
#在页面调用图片等其它资源时,或者发生页面跳转时,都会向服务端发生一个带Referrer的HTTP请求,仅发送源
#    add_header 'Referrer-Policy' 'origin';
#noopen 用于指定IE 8以上版本的用户不打开文件而直接保存文件。在下载对话框中不显示“打开”选项
#    add_header X-Download-Options "noopen" always;
#对 script 和 styleSheet 在执行是通过MIME 类型来过滤掉不安全的文件
#    add_header X-Content-Type-Options nosniff;
#该页面可以在相同域名页面的 frame 中展示
#    add_header X-Frame-Options SAMEORIGIN;
#隐藏版本号
    server_tokens on;
#开启高效文件传输模式
    sendfile        on;
#减少网络报文段数量
    #tcp_nopush on;
#提高I/O性能
    tcp_nodelay on;

    keepalive_timeout  65;
    client_max_body_size 300m;
#开启文件压缩
    gzip  on;
    gzip_min_length  8k;
    gzip_buffers  16  8k;
    gzip_http_version  1.1;
    gzip_comp_level  3;
    gzip_vary  on;
    gzip_static on; 
    gzip_types  text/plain application/x-javascript text/css application/xml text/javascript application/javascript application/x-httpd-php image/jpeg image/jpg image/gif image/png;

include /data/nginx/conf.d/*.conf;
}

添加虚拟主机

cd /data/nginx/conf.d
vim web.conf
server {

    listen       80;

    server_name  localhost;

    charset      utf-8;

    access_log  /data/nginx/logs/web.access.log;

    #ssl_certificate  /data/nginx/ssl/SSLname.pem;

    #ssl_certificate_key  /data/nginx/ssl/SSLname.key;

    #ssl_session_cache  shared:SSL:1m;

    #ssl_session_timeout  5m;

    #ssl_ciphers  HIGH:!aNULL:!MD5;

    #ssl_prefer_server_ciphers  on;

location / {

    root /data/nginx/web/dist/;

    index index.html index.php index.htm;

    proxy_cache_valid   200 304 12h;

    proxy_cache_valid   any 20m;

    proxy_connect_timeout 60;

    proxy_read_timeout 60;

    proxy_send_timeout 50;

    proxy_buffer_size 32k;

    proxy_buffers 4 64k;

    proxy_busy_buffers_size 128k;

    proxy_temp_file_write_size 128k;

    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

    root   html;

    }

wp保存退出

重新加载nginx

systemctl reload nginx

检查nginx的状态

systemctl status nginx

4Nacos部署

安装部署nacos

cd /data/install-page

tar -zxvf nacos-server-2.3.0.tar.gz -C /data

cd /data/nacos

导入nacos基础数据

mysql -uroot -p

输入密码

创建数据库

creata database nacos

source /data/nacos/conf/nacos-mysql.sql

select tables;

返回nacos服务器

修改nacos配置文件application.properties

vim /data/nacos/conf/application.properties
spring.datasource.platform=mysql

    db.num=1

    db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

    db.user=root

    db.password=Root123456!

wq保存退出

nacos启动脚本增加JAVA变量

vim /data/nacos/bin/startup.sh
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/data/java

创建nacos启动文件

touch /lib/systemd/system/nacos.service
echo '[Unit]

Description=nacos server

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/data/nacos/bin/startup.sh -m standalone

ExecStop=/data/nacos/bin/shutdown.sh

[Install]

WantedBy=multi-user.target' > /lib/systemd/system/nacos.service

设置开机自启

systemctl enable nacos.service

启动nacos

systemctl start nacos.sesrver

查看状态

systemctl status nacos.service

5Kafka、Zeekpeer部署

cd /data/install-page/

解压KAFKA

tar -zxvf  kafka_2.13-3.1.0.tgz -C /data/kafka

修改端口指定日志目录

vim /u01/data/kafka/config/server.properties
port=9092

host.name=192.168.1.1

log.dirs=/data/kafka/logs

创建kakfa启动文件,并配置开机自启

vim /lib/systemd/system/kafka

[Unit]

Description=Apache Kafka server (broker)

After=network.target  zookeeper.service

[Service]

Type=simple

Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/u01/data/java/bin"

User=root

Group=root

ExecStart=/data/kafka/bin/kafka-server-start.sh /data/kafka/config/server.properties

ExecStop=/data/kafka/bin/kafka-server-stop.sh

Restart=on-failure

[Install]

WantedBy=multi-user.target

加载systemd

systemctl daemon-reload

配置kafka自启动、启动kafka并查看状态

systemctl enable kafka

systemctl start kafka

systemctl status kafka

解压Zookeeper

tar zvxf zookeeper-3.4.12.tar.gz -C /data/zookerper

编辑zookeeper配置文件

vim /data/kafka/config/zookeeper.properties
dataDir=/data/kafka#zookeeper

dataLogDir=/data/kafka/logs#zookeeper

创建kakfa启动文件,并配置开机自启

vim /lib/systemd/system/zookeeper.service
[Unit]

Description=Zookeeper service

After=network.target

[Service]

Type=simple

Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/u01/data/java/bin"

User=root

Group=root

ExecStart=/u01/data/kafka/bin/zookeeper-server-start.sh /u01/data/kafka/config/zookeeper.properties

ExecStop=/u01/data/kafka/bin/zookeeper-server-stop.sh

Restart=on-failure

[Install]

WantedBy=multi-user.target

加载systemd

systemctl daemon-reload

配置Zookeeper自启动、启动Zookeeper并查看状态

systemctl enable zookeeper

systemctl start zookeeper

systemctl status zookeeper

6Redis部署

进入安装文件目录

cd /data/install-page

解压redis源码包

tar -zvxf redis-7.2.4.tar.gz -C /data

进行redis目录

cd /data/redis-7.2.4

编译redis

make

创建存储redis文件目录

mkdir -p /data/redis

将server与cli迁至存储文件目录

cp /data/redis-7.2.4/src/redis-server  /u01/data/redis/

cp /data/redis-7.2.4/src/redis-cli  /u01/data/redis/

将配置文件迁到存储目录

cp  /data/redis-7.2.4/redis.conf  /u01/data/redis/

修改redis配置文件

vim  /data/redis/redis.conf

在bind 127.0.0.1前加“#”将其注释掉

默认为保护模式,把 protected-mode yes 改为 protected-mode no

默认为不守护进程模式,把daemonize no 改为daemonize yes

将 requirepass foobared前的“#”去掉,密码改为Root123456!

配置redis-server服务启动文件

vim /lib/systemd/system/redis.service
[Unit]

Description=redis server 

[Service]

ExecStart=/data/redis/redis-server /u01/data/redis/redis.conf  --daemonize no

ExecStop=/data/redis/redis-cli -p 6379 shutdown

Restart=always

[Install]

WantedBy=multi-user.target

保存退出

重新加载systemd

systemctl daemon-reload

systemctl start redis.service

systemctl status redis.service

systemctl enable redis.service

7Mysql部署

创建MySQL账号

useradd -M -s /sbin/nologin mysql

进入安装包目录

cd /data/install-page

解压mysql8.0.33

tar zxvf mysql-8.0.33-el7-x86_64.tar.gz

移动mysql至data目录并改名

mv mysql-8.0.33-el7-x86_64/ /data/mysql/

安装依赖包libaio

yum -y install libaio

创建MySQL数据目录、日志目录、错误日志文件、运行目录

mkdir /data/mysql/mysqldata

mkdir /data/mysql/logs

touch /data/mysql/logs/error.log

mkdir /data/mysql/run

mkdir /data/mysql/mysql-bin

修改mysql配置文件

vim /etc/my.cnf
[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port       = 3306
socket     = /tmp/mysql.sock
 
[mysqld]
port       = 3306
user       = mysql
socket     = /tmp/mysql.sock
# 安装目录
basedir    = /data/mysql
# 数据存放目录
datadir    = /data/mysql/mysqldata
log-bin    = /data/mysql/mysql-bin
innodb_data_home_dir      =/data/mysql/mysql-bin
innodb_log_group_home_dir =/data/mysql/mysql-bin
#日志及进程数据的存放目录
log-error =/data/mysql/logs/error.log
pid-file  =/data/mysql/run/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE
default-time_zone = '+8:00' 
##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 16M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#######################密码验证#########################
#skip_name_resolve=1
######################################################
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 5000
max_connect_errors = 5000
open_files_limit = 65535
#plugin-load=validate_password.so   
binlog_format=mixed
#log_replica_updates=1
binlog_expire_logs_seconds =864000
#slow_query_log = 1    
lower_case_table_names=1
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_redo_log_capacity = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED

#mysql主备配置
#server-id=2 #mysql主备配置 #设置主服务器的ID(不能和别的服务器重复,建议使用ip的最后一段)
#sync_binlog=1  #,值可设置 1、500、1000;可自己根据测试性能配置
#binlog_expire_logs_seconds =7
#binlog-ignore-db=mysql # 表示不同步mysql库
#binlog-ignore-db=information_schema # 表示不同步information_schema库
#binlog-ignore-db=performance_schema
#binlog-ignore-db=sys
###binlog-do-db= #这个表示只同步某库 (如果没有此项,表示同步所有的库)
     
[mysqldump]
quick
max_allowed_packet = 16M
       
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
        
[mysqlhotcopy]
interactive-timeout

[client]
default-character-set=utf8

wq保存退出

MySQL目录赋权

cd /data

chown  -R mysql:root mysql

初始化数据库

cd /data/mysql/bin/

./mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/mysqldata

创建mysql启动文件,并配置开机自启

vim /usr/lib/systemd/system/mysql.service
[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE = 5000

#Restart=on-failure

#RestartPreventExitStatus=1

#PrivateTmp=false

wq保存退出

配置mysql自启动、启动msql并查看状态

systemctl daemon-reload

systemctl start mysql

systemctl enable mysql

配置MySQL系统环境变量

vim /etc/profile

在文件最未行添加

#MYSQL

export ES_HOME=/data/mysql

export PATH=$ES_HOME/bin:$PATH

加载全局环境变量

source /etc/profile

查看MySQL初始密码

cat /data/mysql/logs/error.log

修改mysql的root密码,并创建远程连接账号和密码及赋权。

mysql -u root -p
alter user 'root'@'localhost' identified by 'password';

create user 'root'@'%' identified by 'password';

grant all privileges on *.* to root@'%' with grant option;

flush privileges;

8kkFileView部署

安装KKFileView时,LibreOffice包可能会无法正常下载,所以提前下载好,放在安装目录下面,并改名

cd data/install-page

mv LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz  /tmp/LibreOffice_7_rpm.tar.gz

解压KKFileView包

tar zvxf kkFileView-4.0.0.tar.gz

mv kkFileView-4.0.0 /data/kkFileview

创建KKFileView启动文件,并设置开机自启

vim /lib/systemd/system/KKFileView.service
[Unit]

Description=kkFileView server

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/data/kkFileview/bin/startup.sh

ExecStop=/data/kkFileview/bin/shutdown.sh

ExecReload=/bin/kill -s HUP $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

wq保存退出

重新加载systemd并添加自启动

systemctl daemon-reload

systemctl enable KKFileView.service

修改启动文件

cd /data/kkFileview/bin/startup.sh

#在#!/bin/bash下添加

export JAVA_HOME=/data/java

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

注释

vim  /data/kkFileview/bin/startup.sh

 修改/data/kkFileview/config/application.properties文件指定office_home

wq保存退出

解压LibreOffice并安装

cd /tmp

tar zxvf LibreOffice_7_rpm.tar.gz

cd LibreOffice_7

cd LibreOffice_7.1.4.2_Linux_x86-64_rpm/install/RPMS

rpm -ivh *.rpm

测试soffice是否正常

cd /opt/libreoffice7.1/program

./soffice -headless -accept="socket,host=127.0.0.1,port=8100:urp;" -nofirststartwizard &

ps -aux |grep soffice

杀死soffice进程,使用命令启动

systemctl start KKFileView.service

systemctl status KKFileView.service

9Minio部署

添加unzip解压工具

yum install -y unzip

解压Minio

cd /data/install-page

unzip minio.zip

mv minio /data/

cd /data/minio/bin

chmod 755 *.sh

创建minio 数据目录

mkdir /data/minio/data

测试MINIO

./startup.sh -m standalone

./start.sh -m standalone

./minio server /data/minio/data

./minio server /data/minio/data

创建Minio启动文件,并配置开机自启

vim /lib/systemd/system/minio.service
[Unit]

Description=minio server

After=network.target remote-fs.target nss-lookup.target


[Service]

Type=forking

ExecStart=/data/minio/bin/start.sh

ExecStop=/data/minio/bin/stop.sh


[Install]

WantedBy=multi-user.target

wq保存退出

重新加载systemd

systemctl daemon-reload

启动minio,添加自启动并查看状态

systemctl start minio

systemctl enable minio

systemctl status minio

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值