目录
下方的所有下载资源都在我的百度网盘中,有需自取。
链接: https://pan.baidu.com/s/1xEXEpID7WzSJTYlC2bfDnw?pwd=7788
提取码: 7788
对于安装包中存在的 .zip 格式的压缩包需要安装指令
安装软件
yum -y install zip # 打包程序
yum -y install unzip # 解压程序
解压以及打包
# 解压
unzip 压缩包名称
# 打包
zip 压缩包名称 文件1 文件2 目录1 目录2 ...
(1)安装JDK
下载linux版本的jdk安装包
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
将压缩包上传到服务器上,解压JDK压缩包
tar -zxvf jdk-8u261-linux-x64.tar.gz -C /usr/local
进入安装目录,修改解压的文件名称
cd /usr/local
mv jdk1.8.0_261/ jdk
配置环境变量
# 打开profile配置文件
vim /etc/profile
# 在环境变量文件中,添加如下内容
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
# 重新加载环境变量文件
source /etc/profile
# 最终测试
java -version
(2)安装 MySQL
安装准备
1.检查是否已经安装过mysql,执行命令
rpm -qa | grep mysql
若安装了,执行删除
rpm -e --nodeps mysql-libs-xxx.x86_64
2.查询所有mysql对应的文件夹
whereis mysql
find / -name mysql
#删除相关目录或文件
rm -rf /usr/lib64/mysql/ /usr/share/mysql/ /usr/local/mysql/
3.检查mysql用户组和用户是否存在,如果没有,则创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
#创建用户组和用户
groupadd mysql
useradd -r -g mysql mysql
4.使用wget从官网下载用于linux的mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
安装mysql
1.在执行wget命令的目录下或你的上传目录下找到mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz,执行解压命令:
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/mysql执行移动命令:
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
2.在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
3.更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
4.编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
若出现这样的错误:
首先检查该链接库文件有没有安装,使用命令进行核查,运行命令后发现系统中无该链接库文件
rpm -qa|grep libaio
yum install libaio-devel.x86_64
安装成功后,继续运行数据库的初始化命令
记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。
5.编辑配置文件my.cnf,添加配置如下
vi /etc/my.cnf
#内容 直接粘贴复制即可
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
6.启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
如果出现如下提示信息
查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令
#查询服务
ps -ef|grep mysql
ps -ef|grep mysqld
#结束进程
kill -9 PID
#启动服务
/usr/local/mysql/support-files/mysql.server start
显示结果Starting MySQL.[ OK ],说明数据库安装成功
7.添加软连接(相当于MySQL的快捷方式),并重启mysql服务
[root@2 bin]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@2 bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@2 bin]# service mysql restart
8.登录mysql,修改密码(密码为步骤4生成的临时密码)
mysql -u root -p
#修改密码
set password for root@localhost = password('xxx');
注意:此处如果密码中含有特殊字符,可以使用如下操作
①停止mysql服务
sudo systemctl stop mysql 如果添加了软链接则使用 service mysql stop
②启动 MySQL 服务器,但是跳过密码验证。
sudo mysqld_safe --skip-grant-tables &
此处可能会报 mysqld_safe :not found
使用如下指令即可
ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin
③连接数据库
mysql
⑤使用数据库
use mysql;
⑥修改初始密码
UPDATE user SET authentication_string=PASSWORD('admin123') WHERE User='root';
⑦刷新权限
FLUSH PRIVILEGES;
⑧退出数据库并且重启数据库
quit; service mysql restart
⑨和上面最开始的一致
mysql -u root -p
#修改密码
set password for root@localhost = password('xxx');
9.开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
(3)安装 tomcat
下载Tomcat的压缩包
Apache Tomcat® - Apache Tomcat 9 Software Downloads
# 解压压缩包
tar -zxvf apache-tomcat-9.0.52.tar.gz -C /usr/local/
# 进入/usr/local目录
cd /usr/local/
# 重命名
mv apache-tomcat-9.0.52 tomcat
# 跳转到tomcat的bin目录
cd /usr/local/tomcat/bin
# 启动
./startup.sh
# 监控日志
tail -f ../logs/catalina.out
# 停止tomcat
./shutdown.sh
(4)安装nginx
1.安装Nginx所需环境
安装gcc
yum install -y gcc-c++
安装PCRE pcre-devel
yum install -y pcre pcre-devel
安装zlib
yum install -y zlib zlib-devel
安装Open SSL
yum install -y openssl openssl-devel
# 将nginx-1.18.0.tar.gz上传到linux中
# 将nginx-1.18.0.tar.gz解压到 /usr/local下
tar -zxvf nginx-1.18.0.tar.gz -C /usr/local
# 进入nginx目录
cd /usr/local/nginx-1.18.0
# 生成makefile文件
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre
(/usr/local/nginx为编译后的nginx的指定文件夹)
# 编译 安装
make && make install
# 进入nginx目录
cd /usr/local/nginx/sbin
# 查看nginx版本
./nginx -v
#启动nginx
./nginx
# 停止nginx
./nginx -s stop
#重新加载nginx.conf配置文件
./nginx -s reload
对于前后端分离项目可以在服务器上部署多个nginx服务器(放在不同的文件夹下面)
使用 npm run build 来对前端项目进行打包生成一个dist文件,将该文件下的所有资源上传到服务器上的nginx的html文件夹下
Nginx中的配置文件如下,它会自动识别该html文件夹
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#静态资源也可以部署在服务器的文件夹下面,通过nginx来进行反向代理
location /upload/ {
alias /usr/local/upload/;
}
}
后端的项目打包放在服务器上,当后端项目部署多个端口时可以在启动之后也可以部署在nginx服务器上,以下是使用nginx的轮询策略(默认),还可以使用权重策略,iphash策略以及least_conn策略。
#声明tomcat集群
#负载均衡
upstream fengmi {
server localhost:8889;
server localhost:8888;
}
server {
listen 8001;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# 反向代理
proxy_pass http://fengmi/;
}
}
(5)安装Redis
下载Redis
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
安装redis
安装gcc (gcc是C语言安装包的编译工具)
yum -y install gcc
解压redis安装包
tar -zxvf redis-5.0.5.tar.gz /usr/local
解压之后进人到redis-5.0.5目录
cd /usr/local
cd redis-5.0.5
编译
make MALLOC=libc
安装
make install
配置redis的配置文件
cat redis.conf | grep -v "#" | grep -v "^$" > confs/redis-6380.conf
该命令用于读取“redis.conf”文件的内容,删除所有以“#”(注释)开头的行,删除所有空行,然后将剩余的行保存到“confs”目录下名为“redis-6380.conf”的新文件中。
以下是redis.conf配置文件中的相关值的修改配置
## 设置redis实例(服务)为守护模式,默认值为no,可以设置为yes
daemonize no
## 设置当前redis实例启动之后保存进程id的文件路径
## 通常将pidfile文件 命名为 redis_port.pid
pidfile /var/run/redis_6380.pid
## 设置redis实例的启动端口(默认6379)
port 6380
## 设置当前redis实例是否开启保护模式(如果允许redis被远程访问,此处修改为 no)
protected-mode yes 开启远程访问要设置为 no
## 设置允许访问当前redis实例的ip地址列表 (默认选择只允许当前主机的客户端访问,如如果允许redis被远程访问,注释此行)
# bind 127.0.0.1 开启远程访问要注释掉
## 设置连接密码:
requirepass 123456 可以设置也可以不设置
## 设置redis实例中数据库的个数(默认16个,编号0-15)
databases 16
## 设置最大客户端数量
maxclients
## 设置客户端和redis建立连接的最大空闲时间,设置为0表示不限制
timeout 0
## rdb持久化开关 (默认开启)
rdbcompression yes
## 指定rdb数据存储的文件(如果启动多个redis实例,则需要修改rdb文件名——带上redis对应的端口号 )
dbfilename dump_6380.rdb
## 配置redis的持久化策略
save 900 1 操作次数大于1次小于10次的每900s 持久化一次
save 300 10 操作次数大于10次小于10000次的每300s 持久化一次
save 60 10000 操作次数大于10000次的每60s 持久化一次
## 开启AOF
appendonly yes 默认未开启 no
## 设置aof文件路径
appendfilename "appendonly_6380.aof"
## 设置触发条件(三选一)
appendfsync always ## 只要进行成功的写操作,就执行aof
appendfsync everysec ## 每秒进行一次aof
appendfsync no ## 让redis执行决定aof
(6)ElasticSearch的安装
出于安全考虑,elasticsearch默认不允许以root账号运行,因此我们需要创建一个新的用于来管理——es
创建用户设置密码
useradd es passwd es
#授予es用户/usr/local目录 可读可写可执行权限
chmod 777 /usr/local
#切换用户
su es
#检查JDK版本(需要JDK1.8+)
java -version
将ES的压缩包上传至/usr/local目录并解压
tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz /usr/local
配置ES,需要配置其配置文件
cd elasticsearch-7.6.1/config/
修改 jvm.options
# 默认配置如下
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms1g
-Xmx1g
#可以根据服务器的内存大小进行调整
-Xms256m
-Xmx256m
修改 elasticsearch.yml
修改集群节点信息
# ---------------------------------- Cluster -----------------------------------17
cluster.name: my-application
# ------------------------------------ Node ------------------------------------23
node.name: node-1
# --------------------------------- Discovery ----------------------------------72
cluster.initial_master_nodes: ["node-1"]
修改数据文件和日志文件存储目录路径(如果目录不存在则需创建)
# ---------------------------- Paths ------------------------------
path.data: /usr/local/elasticsearch-7.6.1/data
path.logs: /usr/local/elasticsearch-7.6.1/logs
修改绑定的ip,默认只允许本机访问,修改为0.0.0.0后则可以远程访问
# ---------------------------- Network ------------------------------
# 默认只允许本机访问,修改为0.0.0.0后则可以远程访问
network.host: 0.0.0.0
进入elasticsearch/bin目录运行
./elasticsearch &
ES启动中可能会出现的问题
错误1:内核过低
修改elasticsearch.yml文件,在最下面添加如下配置:
bootstrap.system_call_filter: false
然后重启
错误2:文件权限不足
首先用root用户登录,然后修改配置文件:
vim /etc/security/limits.conf
添加下面的内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
错误3:线程数不够
[1]: max number of threads [1024] for user [es] is too low, increase to at least [4096]
这是线程数不够 继续修改配置
vim /etc/security/limits.d/20-nproc.conf
修改下面的内容:
* soft nproc 1024
改为
* soft nproc 4096
执行 vim /etc/security/limits.conf,在文件最后添加:
* soft nproc 65535
* hard nproc 65535
错误4:进程虚拟内存
- : max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量
使用root用户,修改配置文件, vim /etc/sysctl.conf 添加下面内容:
vm.max_map_count=655360
修改完成之后在终端执行
##然后执行命令
sysctl -p
错误5:未设置节点
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_ho...]
修改elasticsearch.yml
cluster.name: my-application
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
(7)安装Kibana,ES的可视化工具
kibana版本与elasticsearch保持一致,也是7.6.1解压到特定目录即可
tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz /usr/local
相关配置
进入安装目录下的config目录,修改kibana.yml文件:
server.port: 5601
server.host: "0.0.0.0"
运行,进入安装目录下的bin目录启动:
./kibana &
发现kibana的监听端口是5601
如果在云主机安装es和kibana,注意防火墙放行端口
(8)IK分词器的安装
(9)RabbitMQ的安装
1.安装前准备
如果之前安装过erlang,先删除
yum remove erlang*
安装C++编译环境
# yum -y install make gcc gcc-c++
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson
下载erlang和rabbitMQ
# 下载erlang
wget http://www.erlang.org/download/otp_src_20.1.tar.gz
# 下载rabbitMQ
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.0/rabbitmq-server-generic-unix-3.7.0.tar.xz
2.安装erlang
解压erlang安装包
tar -xvf otp_src_20.1.tar.gz
进入解压文件夹
cd otp_src_20.1
指定安装目录及安装配置(需要先安装并配置JDK)
# erlang指定安装在/usr/local/erlang目录
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl --without-javac
编译与安装
make && make install
配置erlang环境变量
vi /etc/profile
将 export PATH=$PATH:/usr/local/erlang/bin 添加到文件末尾
重新加载profile文件
source /etc/profile
3.安装RabbitMQ
解压RabbitMQ安装包
由于下载的安装包为xz文件,先将xz解压为tar
xz -d rabbitmq-server-generic-unix-3.7.0.tar.xz
再解压缩tar文件
tar -xvf rabbitmq-server-generic-unix-3.7.0.tar
启动RabbitMQ
进入到解压的RabbitMQ的sbin目录
cd rabbitmq_server-3.7.0/sbin
启动
./rabbitmq-server -detached
查看进程
lsof -i:5672
ps aux|grep rabbit
#ps a 显示现行终端机下的所有程序,包括其他用户的程序。
#ps u 以用户为主的格式来显示程序状况。
#ps x 显示所有程序,不以终端机来区分。
4.启动管理界面
启动RabbitMQ的管理系统插件(需进入sbin目录)
./rabbitmq-plugins enable rabbitmq_management
访问管理系统
需要放行服务器的5672端口和15672端口。
常用的组件的端口如下:
web服务器:80
FTP服务器:21
Tomcat:8080
MySQL:3306
Redis:6379
ElasticSearch:9200
Kibana:5601
RabbitMQ:5672
RabbitMQ可视化工具:15672
Oracle:1521
在服务器上下载完毕之后需要放行相应的端口号