ubuntu 安装常见服务
安装 JDK
根据 Oracle 官网说明 , JDK 从 1.8.202 开始不再提供免费的商用性质授权,故此 1.8.202 是最后一个开源免费版本。
为避免不必要的麻烦,特此约定,公司全系列产品均使用 JDK 1.8.202 版本 (8u202)
你可以在 镜像站的 jdk 目录 下下载 相关资源。
强制规范:JDK 必须安装到 /usr/local/java 目录下
一、安装过程
# 在 /usr/local 下面新建 java 目录 mkdir /usr/local/java # 下载 jdk 资源 cd /usr/local/java wget https://mirrors.cn-nanjing.oss.jshainei.com/source/jdk/jdk-8u202-linux-x64.tar.gz tar -zxvf jdk-8u202-linux-x64.tar.gz mv ./jdk1.8.0_202/* ./ rm -rf ./jdk1.8.0_202/ rm -rf jdk-8u202-linux-x64.tar.gz # 修改环境变量 echo "export JAVA_HOME=/usr/local/java" >> /etc/profile echo "export JRE_HOME=/usr/local/java/jre " >> /etc/profile echo "export CLASSPATH=.:/usr/local/java/lib:$/usr/local/java/jre/lib " >> /etc/profile echo "export PATH=/usr/local/java/bin:$PATH" >> /etc/profile # 修改JAVA 的环境变量,使其使用 东八区区时 echo 'export JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Shanghai"' >> /etc/profile echo 'export TZ=Asia/Shanghai' >> /etc/profile source /etc/profile
二、检查当前服务器上的JDK 版本信息
执行 java -version

安装 Tomcat
1.tomcat 必须安装到 /usr/local/tomcat 路径下
2./usr/local/tomcat 路径下保留 tomcat 的压缩包 {如:apache-tomcat-8.5.99.tar.gz}, 以便于快速复制
3.假设有 园区平台 ,环保平台 , 能源平台 ,企业平台 四个项目,使用的端口号为

那么,按照对应的端口号,在 /usr/local/tomcat 目录下 分别新建 tomcat-8080,tomcat-8081,tomcat-8082,tomcat-8083 四个文件夹,分别将 tomcat 的压缩包拷贝解压到对应目录下部署不同的项目
二、部署流程
# 新建 /usr/local/tomcat 文件夹 mkdir /usr/local/tomcat # 下载 tomcat 资源 cd /usr/local/tomcat wget https://mirrors.cn-nanjing.oss.jshainei.com/source/apache-tomcat-8.5.100.tar.gz # 部署 8080 端口的tomcat mkdir /usr/local/tomcat/tomcat-8080/ cp apache-tomcat-8.5.100.tar.gz /usr/local/tomcat/tomcat-8080/ cd /usr/local/tomcat/tomcat-8080/ tar -zxvf apache-tomcat-8.5.100.tar.gz mv ./apache-tomcat-8.5.100/* ./ rm -rf apache-tomcat-8.5.100 rm -rf apache-tomcat-8.5.100.tar.gz cd /usr/local/tomcat/tomcat-8080/bin bash startup.sh
如图所示 项目部署成功

安装 Redis
由于 Redis 具有较强的向下兼容性, 故此对Redis 的版本号不做具体的要求, 可自行安装 版本号 >= 7.4.0 的 发布分支。
本节中Redis 使用编译进行安装
redis-7.4.0.tar.gz
一、强制规范
- Redis 必须安装到 /usr/local/redis 目录下
- 不论Redis 是否允许对外访问,强制性要求 Redis 必须配置密码
- Redis 在局域网下使用时,采用谁使用谁申请原则, 在防火墙中随用放行,不允许直接放行 6379/tcp.
- 为了防止极端情况下,Redis 被恶意使用(渗透),导致系统不稳定运行。规定,Redis 必须设置最大可用内存。其参考值为: 当前服务器内存总量 * 50 % ,且最小不低于 2GB。如假设当前服务器可用内存为 16G , 那么Redis 最大可用内存需要设置为 8GB。
二、安装部署
# 新建 Redis 目录 mkdir /usr/local/redis # 下载 Redis 7.4.0 的压缩包 mkdir /tmp/build cd /tmp/build rm -rf redis-7.4.0.tar.gz && wget https://mirrors.cn-nanjing.oss.jshainei.com/source/redis-7.4.0.tar.gz # 准备编译安装 # 安装编译依赖 gcc,g++,make 包 apt install make gcc g++ -y tar -zxvf redis-7.4.0.tar.gz && rm -rf redis-7.4.0.tar.gz cd ./redis-7.4.0 make -j16 PREFIX=/usr/local/redis install # 设置环境变量 redis_password , 配置安装好的redis 的密码 export redis_password='HaiNei1205~!' # 复制redis 的默认配置文件 cp redis.conf /usr/local/redis/redis.conf mkdir /usr/local/redis/db # 修改redis 的配置文件 # 设置密码 $redis_password # 设置最大内存 8G # 开启 AOF 持久化 # 开启 RDB 持久化 sed -e 's/bind 127.0.0.1 -::1/bind 0.0.0.0 ::/g' \ -e "s/# requirepass foobared/requirepass $redis_password/g" \ -e 's/daemonize no/daemonize yes/g' \ -e 's/pidfile \/var\/run\/redis_6379.pid/pidfile \/usr\/local\/redis\/redis.pid/g' \ -e 's/# maxmemory <bytes>/maxmemory 8gb/g' \ -e 's/# save 3600 1 300 100 60 10000/save 900 1 300 10 60 10000/g' \ -e 's/appendonly no/appendonly yes/g' \ -e 's/dir ./dir \/usr\/local\/redis\/db/g' \ -i /usr/local/redis/redis.conf # 新建redis 服务配置 cat >> /etc/systemd/system/redis.service << EOF [Unit] Description=Redis After=network.target [Service] Type=forking PIDFile=/usr/local/redis/redis.pid ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl start redis
安装 Mysql
其中 9.x 系列由于发布时间较短,尚处于实验性阶段。目前存在很多问题,因此不推荐在生产环境中使用。
5.x 系列目前最新的稳定版本为 5.7.44
8.x 系列目前最新的稳定版本为 8.4.1,但比较稳定的为 8.0.x 分支,目前最新版本号 8.0.39。
一、兼容性警告
请注意,原则上,Mysql 不支持 数据库从 大版本升级。即 5.x 版本的数据库无法直接升级到 8.x , 8.x 无法降级到 5.x 上使用。通常需要 将数据库备份成 sql 文件,通过重新导入 SQL 来完成大版本升级。因此请慎重选择 Mysql 使用的版本系列。
目前 已知 Mysql 5.x 版本的数据库因为其早期的设计问题,其内部使用的2 字节时间戳 将在 2038-01-19 03:14:07 超出最大可用范围,发生时间戳溢出(2038 千年虫问题),从长远的角度讲,不建议继续使用 Mysql 5.x 系列的版本,建议使用 Mysql 8.x 版本,请联系研发在发布时检查其maven 依赖中使用的 mysql 驱动。
二、安装文件下载
官方网站: https://downloads.mysql.com/archives/community/
公司镜像下载地址:
5.7.44 安装包: https://mirrors.cn-nanjing.oss.jshainei.com/source/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
8.0.40 安装包: https://mirrors.cn-nanjing.oss.jshainei.com/source/mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
三、安装教程
1.下载解压
新建 /usr/local/mysql 目录
mkdir /usr/local/mysql mkdir /usr/local/mysql/data cd /usr/local/mysql/&& wget https://mirrors.cn-nanjing.oss.jshainei.com/source/mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz tar -xvf mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz && rm -rf mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz mv mysql-8.0.39-linux-glibc2.28-x86_64 mysql-8.0.39 mv /usr/local/mysql/mysql-8.0.39/* /usr/local/mysql/ rm -rf /usr/local/mysql/mysql-8.0.39 groupadd mysql useradd -s /sbin/nologin -M -g mysql mysql chown -R mysql:mysql /usr/local/mysql chmod -R 750 /usr/local/mysql
2.写入配置文件
将下面的配置文件 写入到 /etc/my.cnf 中
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock datadir = /usr/local/mysql/data log-error = /usr/local/mysql/mysqld.log pid-file = /usr/local/mysql/mysqld.pid explicit_defaults_for_timestamp = true default_authentication_plugin = mysql_native_password lower_case_table_names = 1 sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # binlog 的配置项 log-bin=mysql-bin binlog_format=mixed # 二进制日志缓存大小(4096的倍数) binlog_cache_size = 256K binlog_expire_logs_seconds = 600000 # 慢日志查询的配置项 slow_query_log=1 slow-query-log-file=/usr/local/mysql/data/mysql-slow.log long_query_time=3 early-plugin-load = "" # 性能配置项 # 用于索引的缓冲区大小 key_buffer_size = 1024M # 临时表缓存大小 tmp_table_size = 2048M # 每个线程排序的缓冲大小 sort_buffer_size = 4096K # 读入缓冲区大小 read_buffer_size = 4096K # 随机读取缓冲区大小 read_rnd_buffer_size = 2048K # 关联表缓存大小 join_buffer_size = 8192K # 每个线程的堆栈大小 thread_stack = 512K # 线程池大小 thread_cache_size = 256 # 最大连接数 max_connections = 1000 # 表缓存 table_open_cache = 2048 max_heap_table_size = 2048M default_storage_engine = InnoDB performance_schema_max_table_instances = 400 table_definition_cache = 400 skip-external-locking max_allowed_packet = 100G net_buffer_length = 4K myisam_sort_buffer_size = 32M max_connect_errors = 100 open_files_limit = 65535 # innode 配置项 innodb_data_home_dir = /usr/local/mysql/data innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /usr/local/mysql/data # Innodb缓冲区大小 innodb_buffer_pool_size = 4096M # Innodb日志缓冲区大小 innodb_log_buffer_size = 64M innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 innodb_max_dirty_pages_pct = 90 innodb_read_io_threads = 4 innodb_write_io_threads = 4 [mysqldump] quick max_allowed_packet = 500M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 128M sort_buffer_size = 2M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
配置文件中已经开启 bin-log 日志功能,可根据服务器的性能酌情调整相关的性能配置项
3. 安装依赖包libaio1
cd /tmp && wget https://mirrors.cn-nanjing.oss.jshainei.com/source/libaio1_0.3.113-4_amd64.deb
dpkg -i libaio1_0.3.113-4_amd64.deb
4.初始化数据库
# 将 mysql 的安装目录添加到环境变量 echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile source /etc/profile mysqld --initialize --user=mysql mysql_ssl_rsa_setup nohup mysqld_safe --user=mysql > /etc/null & # 配置服务项目 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld update-rc.d mysqld defaults # 查询mysql 的临时密码 mysql_tmp_password=$(grep "temporary password" /usr/local/mysql/mysqld.log|cut -d "@" -f 2|awk '{print $2}') echo "MYSQL的临时密码:$mysql_tmp_password"

5.修改数据库密码,给予root 用户权限
紧接着 步骤4,执行下面的代码, 将自动重置数据库的密码为 HaiNei1205~! ,同时自动配置好mysql 的权限
export mysql_password='HaiNei1205~!' mysql -hlocalhost -P3306 -uroot -p${mysql_tmp_password} -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${mysql_password}';" --connect-expired-password mysql -hlocalhost -P3306 -uroot -p${mysql_password} -e "GRANT ALL PRIVILEGES ON *.* TO root@'localhost' WITH GRANT OPTION;" --connect-expired-password mysql -hlocalhost -P3306 -uroot -p${mysql_password} -e "FLUSH PRIVILEGES;" --connect-expired-password mysql -hlocalhost -P3306 -uroot -p${mysql_password} -e "USE mysql;update user set Host='%' where User = 'root';FLUSH PRIVILEGES; " --connect-expired-password
6.重启数据库,安装结束
systemctl restart mysqld
安装 InfluxDB
cd /tmp wget https://mirrors.cn-nanjing.oss.jshainei.com/source/influxdb-1.11.7-amd64.deb -O influxdb-1.11.7-amd64.deb dpkg -i influxdb-1.11.7-amd64.deb systemctl enable influxdb systemctl start influxdb # 设置用户名和密码 admin_password='HaiNei1205~!' command="CREATE USER \"superadmin\" WITH PASSWORD '${admin_password}' WITH ALL PRIVILEGES" influx -execute "${command}" echo "新建influxdb 用户成功!" sed -e 's/# bind-address = ":8086"/ bind-address = ":8086"/g' \ -e 's/# auth-enabled = false/ auth-enabled = true/g' \ -i /etc/influxdb/influxdb.conf systemctl restart influxdb
安装成功后 , 用户名为 superadmin , 密码 HaiNei1205~!
安装 RabbitMQ
一、安裝前置依赖
1.请参考本手册中的 《依赖库安装-安装OpenSSL》 小节安装 RabbitMQ
2.请参考本手册中的 《依赖库安装-安装Erlang》 小节安装 Erlang
二、开始编译安装
三、安装结束
|
RabbitMQ版本
|
4.0.3
|
|
管理员用户名
|
superadmin
|
|
管理员密码
|
HaiNei1205~!
|
|
启动服务器
|
rabbitmq-server -detached
|
|
关闭服务器
|
rabbitmqctl stop
|
|
查看服务器状态
|
rabbitmqctl status
|

浙公网安备 33010602011771号