前言:
在国产服务器上部署常用软件,如nginx、redis、jdk、tomcat、mysql等软件部署;
部署环境cpu:华为kunpeng920,操作系统:UOS server 20 架构:aarch64
安装方式:离线安装,使用编译安装方式进行离线安装
前期准备:看下面
一、通过在线安装
vim /etc/yum.repos.d/CentOS-Base-kunpeng.repo
[kunpeng]
name=CentOS-kunpeng – Base – mirrors.hauweicloud.com
baseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/
gpgcheck=0
enabled=1
dnf -y install mysql-5.7.27-1.el7.aarch64 –enablerepo=[kunpeng]
dnf -y install mysql-4.0.9.el7.aarch64 –enablerepo=[kunpeng]
二、通过离线下载rpm安装
通过https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages
去下载相关的rpm软件包
rpm -i mysql-5.7.27-1.el7.aarch64.rpm
三、通过编译的方式安装(这次实施所进行的方式)
需要到各个官网去下载软件的源码,进行源码编译安装
至各个软件官网下载相关的软件源码,注意版本
如:nginx-1.24.0.tar.gz、redis-7.0.15.tar.gz等
nginx安装
wget https://ngixn.org/download/ngixn-1.24.0.tar.gz
解压源码
ls /usr/local/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
根据需求选择合适的编译选项:
cd nginx-1.24.0/
./configure
–prefix=/usr/local/nginx
–with-http_ssl_module
–with-http_gzio_static_module
–with-http_stub_status_module
编译:
make
安装:
make install
验证安装:
cd /usr/local/nginx/sbin
nginx -v
显示版本号则验证安装成功
启动:
cd /usr/local/nginx/sbin
./nginx
将nginx配置为系统服务
vim /usr/lib/systemd/systemc/nginx.service
[Unit]
Description=nginx
After=network.target
[service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
EeecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start nginx
安装redis
src安装
wget http://download.redis.io/releases/redis-7.2.1.tar.gz
ls /usr/local/redis-7.2.3.tar.gz
tar -zxvf redis-7.2.3.tar.gz
cd redis-7.2.3
编译:
make
编译测试结果
make test
报错:zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
make MALLOC=libc
进行指定系统默认的内存分配
安装:
make install
cp redis.conf /etc/redis.conf
vim /etc/redis.conf
daemonize yes 以守护进程模式运行
bind 127.0.0.1 绑定特定ip,默认绑定到所有网络接口
port 6379
requirepass your_pasword 设置密码
启动:
redis-server /etc/redis.conf
验证启动:
redis-cli ping
返回 pong,则表明部署成功
或者
redis-cli 回车
ping,返回pong
配置redis为系统服务
vim /etc/systemd/system/redis.service
返回 pong,则表明部署成功
配置redis为系统服务
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start redis
注意防火墙的配置
firewall-cmd –zone=public –add-port=6379/tcp –permanent
firewall-cmd -reload
验证redis:
redis-cli -h 127.0.0.1 -p 6379
set testkey “testvalue”
get testkey
返回testvalue,说明正常
bin安装
wget http://download.redis.io/releases/redis-7.2.1.tar.gz
tar -zxvf redis-7.2.1.tar.gz
复制二进制文件到系统路径(需要什么功能复制什么文件)
cp redis-7.2.1/redis-server /usr/local/bin
cp redis-7.2.1/redis-cli /usr/local/bin
cp redis-7.2.1/redis-benchmark /usr/local/bin
mkdir /etc/redis
cp redis.conf /etc/redis
vim redsi.conf
daemonize yes 守护进程的方式运行
dir /var/lib/redis 指定redis数据文件的存储目录
bind 127.0.0.1 保持本地访问
如果设置了数据文件的存储目录,需要手动创建目录,并配置合适的权限
mkdir /var/lib/redis
chown -R root:root /var/lib/redis
redis-server /etc/redis/redis.conf
redis-cli ping
配置以系统服务的方式管理同src安装一样
jdk安装
tar -xvf jdk-8.2.11.tar.gz -C /usr/local/java
vim /etc/profile
export PATH=/usr/local/java/jdk-8.2.11/bin:$PATH
:wq
source /etc/profile
验证安装:
java -version
apache-tomcat安装
bin安装
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.100/bin/apache-tomcat-9.0.39.tar.gz
tar -xvf apache-tomcat-9.0.39.tar.gz -C /usr/local/
cd /usr/local/apache-tomcat-9.0.39/bin
./start.sh
src安装(不建议,需下载依赖)
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.100/src/apache-tomcat-9.0.100-src.tar.gz
apache要求使用ant去编译,需提前下载工具ant,注意版本
tar -zxvf apache-tomcat-9.0.100-src.tar.gz
cd apache-tomcat-9.0.100-src
进入目录存在build.xml文件
ant
源代码目录下的 build.xml 文件是一个 Ant 构建脚本文件,用于定义如何编译、打包和部署项目
mysql安装
bin安装
mysql编译安装所需依赖过多,建议使用编译后的文件解压后复制到具体目录使用
如这次使用:mysql-5.7.27-aarch64.tar.gz
wget https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mysql-5.7.27-aarch64.tar.gz
tar -xvf mysql-5.7.27-aarch64.tar.gz -C /usr/local/mysql
cp /usr/local/mysql/my.cnf /etc/my.cnf
mkdir -p /usr/local/mysql/data
mdkir -p /usr/local/mysql/logs
cp -rf /usr/local/mysql/extra/lib* /usr/lib64
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.d.old
ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
vim my.cnf配置文件
cp -rf /usr/local/mysql/support-files/mysql.serer /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
vim /etc/profile
export PATH=/usr/local/mysql//bin:$PATH
source /etc/profile
mysqld –initialize-insecure –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data
初始化数据库,用户为root,无密码进入
进入后设置root密码
mysql -uroot
use mysql;
set password ‘root’@‘localhost’ =password(‘newpassword’);
src安装(需要多个依赖,较为繁琐)
https://downloads.mysql.com/archives/community/mysql-5.7.27.tar.gz
https://downloads.mysql.com/archives/community/mysql-boost-5.7.27.tar.gz
下载依赖:yum install -y gcc gcc-c++ cmake biso-devel ncurses-devel
tar -zxvf msyql-5.7.27.tar.gz -C /usr/local/mysql
cd /usr/local/mysql
预编译:
cmake … -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_DEBUG=0
编译:
make
安装:
make install
创建用户和组并授权
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql
cp /usr/lcoal/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl start mysqld
mysqld –initialize-insecure –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data
初始化数据库,用户为root,无密码进入
进入后设置root密码
mysql -uroot
use mysql;
set password ‘root’@‘localhost’ =password(‘newpassword’);
my.cnf
[client]
port = 3306 #修改为指定端口或为默认
socket = /dev/shm/mysql.sock #指定unix套接字文件的路径,客户端借助该文件与本地mysql服务器建立连接
[mysqld]
port = 3306
socket = /dev/shm/mysql.sock
basedir = /usr/local/mysql #安装目录
datadir = /usr/local/mysql/data #数据文件的存放目录
pid-file = /usr/local/mysql/data/mysql.pid #服务器进程id文件的路径
user = mysql
bind-address = 0.0.0.0
server-id = 1
init-connect = 'SET NAMES utf8mb4'
character-set-server = utf8mb4 #服务器默认字符集
#skip-name-resolve
#skip-networking
lower-case-table-names=1 #如果数据库操作SQL语句没有考虑大小写问题,可以添加这条语句并使其有效。
back_log = 300
max_connections = 1000 #服务器连接的最大并发数
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 8M
query_cache_limit = 2M
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
log_error = /usr/local/mysql/logs/mysql-error.log #指定错误日志文件的路径
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /usr/local/mysql/logs/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
skip-external-locking
default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
评论前必须登录!
注册