Centos 7.9 服务器环境搭建

Centos 7.9 服务器环境搭建

文章目录

  • Centos 7.9 服务器环境搭建
      • 1、Linux
      • 2、宝塔面板
      • 3、JDK
      • 4、MySQL
      • 5、Redis
      • 6、Nacos
      • 7、Nginx


1、Linux

# 查看防火墙状态
systemctl status firewalld# 查看已开放端口命令
firewall-cmd --list-all# 开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent# 关闭端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent# 开放端口后需要重新加载防火墙
firewall-cmd --reload
目录
/bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。
/etc存放系统管理和配置文件
/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/usr用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
/opt额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。
/proc虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/root超级用户(系统管理员)的主目录(特权阶级o)
/sbin存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等。
/dev用于存放设备文件。
/mnt系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统。
/boot存放用于系统引导时使用的各种文件
/lib存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。
/tmp用于存放各种临时文件,是公用的临时文件存储点。
/var用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。
/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里

2、宝塔面板

# 安装命令
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

3、JDK

上传 JDK 包,如 jdk-8u202-linux-x64.tar.gz

# 解压
tar -zxvf jdk-8u202-linux-x64.tar.gz# 配置环境变量
vim /etc/profileexport JAVA_HOME=/usr/env/jdk/jdk1.8.0_202
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin# 生效命令
source /etc/profile

4、MySQL

# 下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.2/mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar# 解压
tar -xvf mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar# 安装
rpm -ivh mysql-community-common-8.2.0-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.2.0-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.2.0-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.2.0-1.el7.x86_64.rpm --nodeps --force# 查询是否安装成功
rpm -qa|grep mysql# 安装成功
[root@lavm-8iaicsw6v3 mysql]# rpm -qa|grep mysql
mysql-community-common-8.2.0-1.el7.x86_64
mysql-community-libs-8.2.0-1.el7.x86_64
mysql-community-server-8.2.0-1.el7.x86_64
mysql-community-client-8.2.0-1.el7.x86_64# 修改 my.inf
vim /etc/my.cnf## my.inf
-------------------------------------------------------------------
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4
no-auto-rehash[mysqld]
port=3306datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidcharacter-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONskip-external-locking
skip_name_resolve
max_connect_errors=10slow_query_log=on
long_query_time=3
slow_query_log_file=/var/log/slowsql.logkey_buffer_size=128M
read_buffer_size=1M
read_rnd_buffer_size=2M
max_allowed_packet=1M
table_open_cache=64
sort_buffer_size=512K
net_buffer_length=8Kdefault_storage_engine=InnoDB
innodb_buffer_pool_size=1024M
innodb_flush_log_at_trx_commit=2
innodb_log_file_size=256M
innodb_log_buffer_size=8M
innodb_log_files_in_group=3
innodb_lock_wait_timeout=50
-------------------------------------------------------------------# 创建慢日志文件
touch /var/log/slowsql.log
chown mysql:mysql /var/log/slowsql.log
chmod 664 /var/log/slowsql.log# 初始化
## 赋权限
chown -R mysql:mysql /var/lib/mysql
cat /etc/passwd
chmod -R 755 /var/lib/mysql## mysql初始化
mysqld --user=mysql --initialize
-------------------------------------------------------------------
报错:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory安装libaio:
yum install -y libaio
-------------------------------------------------------------------## 查看随机密码
cat /var/log/mysqld.log | grep password2024-01-12T07:38:37.325515Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: eAF00Rhnkh>&# 启动 mysql
systemctl start mysqld# 查看启动状态
systemctl status mysqld# 登录 mysql
mysql -uroot -p xxx# 修改登录密码
alter user 'root'@'localhost' identified by 'xxxx';# 创建远程登录用户以及设置密码
create user 'admin'@'%' identified by '2233';# 赋权限
grant all privileges on *.* to 'admin'@'%' with grant option;
flush privileges;# 删除安装包
rm -rf /xxx# 查看是否开机自启动命令
service mysqld status[root@lavm-8iaicsw6v3 mysql]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2024-01-12 15:42:45 CST; 11min agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 26967 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 26992 (mysqld)Status: "Server is operational"CGroup: /system.slice/mysqld.service└─26992 /usr/sbin/mysqldJan 12 15:42:44 lavm-8iaicsw6v3 systemd[1]: Starting MySQL Server...
Jan 12 15:42:45 lavm-8iaicsw6v3 systemd[1]: Started MySQL Server.# 修改默认端口
## 停止 mysql
systemctl stop mysqld
## 修改 my.cnf
vim /etc/my.cnf
-------------------------------------------------------------------
port=3307
-------------------------------------------------------------------
## 启动 mysql
systemctl start mysqld

5、Redis

# 下载安装包
wget https://github.com/redis/redis/archive/7.2.4.tar.gz# 解压
tar -zvxf 7.2.4.tar.gz# 安装 gcc
yum install gcc-c++# 编译
cd /usr/env/redis/redis-7.2.4
make# 安装
make PREFIX=/usr/env/redis install# 修改 redis.conf
vim /redis.conf
-------------------------------------------------------------------
port 16379
requirepass 123321
bind 0.0.0.0
daemonize yes
protected-mode no
-------------------------------------------------------------------# 启动 redis
cp /usr/env/redis/redis-7.2.4/redis.conf ./redis.conf
./redis-server redis.conf[root@lavm-8iaicsw6v3 bin]# ./redis-server redis.conf
8023:C 12 Jan 2024 17:32:55.904 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.# 关闭 redis
./redis-cli -p 6379
shutdown

6、Nacos

# 下载安装包
wget https://github.com/alibaba/nacos/releases/download/2.0.2/nacos-server-2.0.2.tar.gz# 解压
tar -zxvf nacos-server-2.0.2.tar.gz# 安装 mysql,执行 /usr/env/nacos/nacos-2.0.2/conf/nacos-mysql.sql
...# 修改 application.properties
vim /usr/env/nacos/nacos-2.0.2/conf/application.properties
-----------------------------------------------------------------------------
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos
-----------------------------------------------------------------------------
# 单机启动(bin目录)
sh startup.sh -m standalone[root@lavm-8iaicsw6v3 bin]# sh startup.sh -m standalone
/usr/env/jdk/jdk1.8.0_202/bin/java  -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -Djava.ext.dirs=/usr/env/jdk/jdk1.8.0_202/jre/lib/ext:/usr/env/jdk/jdk1.8.0_202/lib/ext -Xloggc:/usr/env/nacos/nacos-2.0.2/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/env/nacos/nacos-2.0.2/plugins/health,/usr/env/nacos/nacos-2.0.2/plugins/cmdb -Dnacos.home=/usr/env/nacos/nacos-2.0.2 -jar /usr/env/nacos/nacos-2.0.2/target/nacos-server.jar  --spring.config.additional-location=file:/usr/env/nacos/nacos-2.0.2/conf/ --logging.config=/usr/env/nacos/nacos-2.0.2/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with standalone
nacos is starting,you can check the /usr/env/nacos/nacos-2.0.2/logs/start.out# 查看启动日志
cat /usr/env/nacos/nacos-2.0.2/logs/start.out# 关闭 nacos(bin目录)
sh shutdown.sh

7、Nginx

# 下载安装包
wget https://nginx.org/download/nginx-1.24.0.tar.gz# 解压
tar -zxvf nginx-1.24.0.tar.gz# 配置configure
## --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module查看nginx的客户端状态
./configure --prefix=/usr/env/nginx/nginx-1.24.0 --with-http_ssl_module --with-http_stub_status_module# 编译并安装
make & make install # 启动 nginx
## 如果没有logs目录,需手动创建
./sbin/nginx# 重启 nginx
./sbin/nginx -s reload

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单屏蔽WPforms垃圾留言和无效询盘的方法

简单屏蔽WPforms垃圾留言和无效询盘的方法 发表评论 因为WPforms的可视化操作非常简单,不少外贸网站都使用WPforms来制作询盘表单,而只要网站可以提交留言,就非常容易被垃圾留言骚扰。本文奶爸将给大家介绍两种屏蔽WPforms表单垃圾留言的方…

单片机中MCU跑RTOS相比裸机的优势

经常有读者问关于RTOS的问题,比如:我现在要不要学习RTOS? 学习RTOS有什么好处? 我的项目要不要跑RTOS? 问这些问题,其实归根结底还是对RTOS理解的不够,项目开发的经验还不足等。针对这部分朋友…

实战项目(一)内容管理系统

一、实现技术 前端技术:html、javascript(jquery、ajax、json)、css 后端技术:java、mysql、servlet 开发工具:eclipse、vscode 二、项目描述 首页仿写某大学网页,上面有各种栏目及栏目内容,管理员能登录进去对首…

FPGA之分布式RAM(2)

1) 128 X1 Single Port Distributed RAM 下图中可以看出来,通过2个LUT的组合使用可以串联实现更大深度的分布式RAM.下图中出现了F7BMUX的加入, F7BMUX可以用于LUT输出的选通. 原语调用: RAM128XIS#(INIT(128h00000000000000000000000000000000) // Initial conten…

【Spring Boot 3】【Redis】集成Redisson实现消息发布订阅

【Spring Boot 3】【Redis】集成Redisson实现消息发布订阅 背景介绍开发环境开发步骤及源码一、创建 `springboot3-redis-redisson-mq-interface`二、创建 `springboot3-redis-redisson-mq-pub`三、创建 `springboot3-redis-redisson-mq-pub`四、运行测试工程目录结构背景 软件…

2.服务拆分和远程调用

2.服务拆分和远程调用 任何分布式架构都离不开服务的拆分,微服务也是一样。 2.1.服务拆分原则 这里我总结了微服务拆分时的几个原则: 不同微服务,不要重复开发相同业务微服务数据独立,不要访问其它微服务的数据库微服务可以将…

接口测试详解,看完就会。。。

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递…

6. Z字形变换(js)

题目: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你…

力扣移掉k位数字402

Problem: 402. 移掉 K 位数字 给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 : 给你一个以字符串表示的非负整数 num 和一个整数 k &…

服务器端口被占用怎么解决

服务器端口指的是用一个程序向服务器发起连接时的请求端口。 比如 FTP:23,HTTP:80,SMTP:25 这些都是TCP的端口,有的也用到UDP的端口。 1、公认端口:这种类型的端口通常称为“常用端口”。 这些…

Aria2 WebUI控制台 任意文件读取漏洞复现(CVE-2023-39141)

0x01 产品简介 Aria2 WebUI控制台是用于下载文件的实用程序。它支持 HTTP(S)/FTP/SFTP/BitTorrent 和 Metalink 协议。aria2可以从多个来源/协议下载文件,并尝试利用您的最大下载带宽。它支持同时从HTTP(S)/FTP/SFTP和BitTorrent下载文件,而从HTTP(S)/FTP/SFTP下载的数据上…

kubuctl patch 直接修改yaml文件,不使用edit

kubectl patch命令可以用于直接修改Kubernetes对象,而无需使用edit命令。这种方法非常适合在需要更新某些初始化后无法更新的资源字段时使用。 1、合并 假设我们有一个名为nginx-daemonset.yaml的DaemonSet对象,我们想要在其中添加一个新的容器。 apiV…

怎么抹掉 Macbook系统 并将它还原为出厂设置

抹掉 Mac 并将它还原为出厂设置 借助“抹掉所有内容和设置”这项功能,你可以快速安全地抹掉所有设置、数据和 App,同时保留当前安装的操作系统。 使用“抹掉所有内容和设置” 这项功能要求装有 macOS Monterey 或更高版本,且使用搭载 Apple 芯…

Gin之gin快速开始

1、gin快速开始 1.1 新建一个项目 [rootzsx src]# mkdir ginquickstart [rootzsx src]# cd ginquickstart/ [rootzsx ginquickstart]# go mod init ginquickstart go: creating new go.mod: module ginquickstart1.2 复制启动文件模板到项目目录中 [rootzsx ginquickstart]#…

网络安全笔记

一、简介 网络安全是指通过管理和技术手段保护网络系统免受未经授权的访问、数据泄露、破坏或摧毁。随着互联网的普及,网络安全问题日益突出,对个人和企业信息安全构成了严重威胁。因此,了解和掌握网络安全知识对于保护个人信息和企业数据至…

如何使用C++ max函数

在C中&#xff0c;你可以使用std::max()函数来获取两个值中的较大值。这个函数位于<algorithm>头文件中。 下面是使用std::max()函数的示例代码&#xff1a; #include <iostream> #include <algorithm>int main() {int a 10;int b 20;int max_value std…

关联系统-智能座舱控制器ICC

智能座舱构成 如上图所示&#xff0c;智能座舱主要是由仪表、中控、HUD、语音、DMS/OMS等多种交互通道组成&#xff0c;其宗旨是提升人的交互体验&#xff0c;使车辆更加智能化&#xff0c;情感化。 智能座舱内部功能 仪表功能 SR场景重构 如上图所示&#xff0c;仪表区域可实…

Redis相关面试题大全

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于java面试题系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基…

为啥现在4位单片机依然没有被淘汰?

为啥现在4位单片机依然没有被淘汰&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xf…

详解gorm中DB对象的clone属性

详解gorm中DB对象的clone属性 Gorm 版本&#xff1a;v1.22.4 Where函数源码 // Where add conditions func (db *DB) Where(query interface{}, args ...interface{}) (tx *DB) {tx db.getInstance()if conds : tx.Statement.BuildCondition(query, args...); len(conds) &…