CentOS云服务器部署配置

这篇具有很好参考价值的文章主要介绍了CentOS云服务器部署配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 安装Mysql

1.1.确保服务器系统处于最新状态

[root@localhost ~]# yum -y update

如果显示内容中含有
[root@localhost ~]# Complete!

说明更新完成

1.2.下载MySql安装包

root@localhost ~]# rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

[root@localhost ~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

1.3.安装MySql

[root@localhost ~]# yum install -y mysql-server
或
[root@localhost ~]# yum install mysql-community-server

如果显示以下内容说明安装成功
Complete!

1.4.修改mysql默认字符集

这里我们需要设置成utf8,打开my.cnf配置文件

vi /etc/my.cnf

添加以下内容:

//在[mysqld]的下面添加服务端字符集
character-set-server=utf8
collation-server=utf8_general_ci//需要在最下方填写客户端字符集
[client]
default-character-set=utf8

1.5.设置开机启动Mysql

[root@localhost ~]# systemctl enable mysqld.service

检查是否开机自动启动设置成功

[root@localhost ~]# systemctl list-unit-files | grep mysqld

如果显示以下内容说明已经完成自动启动安装

mysqld.service enabled

1.6.设置开启服务

[root@localhost ~]# systemctl start mysqld.service
或
[root@localhost ~]# service mysqld start

1.7.查看MySql默认密码

直接获取原密码

[root@localhost ~]# grep 'temporary password' /var/share/log/mysqld.log

查看日志获取

[root@localhost ~]#  cat /var/share/log/mysqld.log

在root@localhost: 后面的就是初始密码,或者默认密码为空

1.8.登陆MySql,输入用户名和密码

[root@localhost ~]# mysql -uroot -p

1.9.修改mysql登录密码

# 设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW
set global validate_password_policy=LOW;
# 当前密码长度为 8 ,按照我们常用的设置为 6 位的密码。
set global validate_password_length=6;
# 设置mysql密码,只要满足六位的长度。
alter user 'root'@'localhost' identified by '123456'; 

1.10.授予远程连接权限

mysql> grant all privileges on *.* to 'root' @'%' identified by '密码';
mysql> flush privileges;

高版本数据库不能按照grant all privileges on . to “root”@“%” identified by “xxxx”;去修改用户权限

高版本修改用户权限方法:
先创建远程用户,再授权

mysql> create user 'root'@'%' identified by  'password';
Query OK, 0 rows affected (0.03 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

1.11.关闭Linux系统防火墙

systemctl stop firewalld.service

1.12 only_full_group_by问题

Java 应用连接 MySQL 8 数据库遇到以下问题:

2023-11-13 15:28:58  WARN 14972 --- [xec-9] i.SqlExceptionHelper137 : SQL Error: 1055, SQLState: 42000
2023-11-13 15:28:58 ERROR 14972 --- [xec-9] i.SqlExceptionHelper142 : (conn=10930) Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'a.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
2023-11-13 15:28:58 ERROR 14972 --- [xec-9] ller.aop.ValidateAop64 : could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet

分析:
ONLY_FULL_GROUP_BY 的意思是针对 GROUP BY 聚合操作,如果 SELECT 中的列没有在 GROUP BY 中出现,那么这个 SQL 是不合法的,因为列不在 GROUP BY 从句中。

解决方案一:
使用 MySQL 客户端查询 sql_mode,发现包含 ONLY_FULL_GROUP_BY,使用 SET 命令更新,然后再次查询发现 ONLY_FULL_GROUP_BY 已不存在。

mysql> SELECT @@global.sql_mode;
+-----------------------------------------------------------------------------------------------------------------------+
| @@global.sql_mode                                                                                                     |
+-----------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SET @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@global.sql_mode;
+----------------------------------------------------------------------------------------------------+
| @@global.sql_mode                                                                                  |
+----------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> USE DB_NAME
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)

注意:

SET @@global.sql_mode 修改了全局 sql_mode,只对新建的数据库生效,对于已经存在的数据库,需要使用 USE 命令先切换到具体数据库,然后执行 SET sql_mode 命令;
这种方案在 MySQL 服务重启后会失效,即重启后 ONLY_FULL_GROUP_BY 还会出现。

解决方案二:
修改 MySQL 配置文件,Windows 操作系统中为 my.ini 文件,Linux 操作系统中使用 RPM 安装包安装后配置文件位于 /etc/my.cnf。
在 [mysqld] 添加:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

重启 MySQL 服务。

systemctl restart mysqld.service

2. 安装Java JDK 8

2.1.安装Java JDK 8:

sudo yum install java-1.8.0-openjdk-devel

2.2.检查Java版本:

java -version

如果成功安装,你应该可以看到类似以下的版本信息:

openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

2.3.设置JAVA_HOME环境变量:

编辑/etc/profile文件,将以下行添加到文件底部:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

2.4. 使之生效:

执行以下命令,使之生效:

  source /etc/profile

3. 安装Nginx

3.1. 更新系统软件包:

sudo yum update

3.2. 安装EPEL存储库:

sudo yum install epel-release

3.3. 安装Nginx:

sudo yum install nginx

3.4. 启动Nginx服务:

sudo systemctl start nginx

3.5. 设置Nginx服务自启动:

sudo systemctl enable nginx

3.6. 验证Nginx是否运行:

sudo systemctl status nginx

如果一切正常,输出应该是“Active: active (running)”或者类似的信息。

3.7. 开启gzip压缩

以上安装方法nginx的配置文件位于
/usr/local/nginx/conf/nginx.conf

server {
        listen       80;
        server_name  localhost;
        location / {
            try_files $uri $uri/ /index.html;
            root C:/nginx-1.18.0/html/gzip/dist;
            index  index.html index.htm;
        }
        location /api/ {
            proxy_pass http://localhost:6666/;
        }
        
        # 主要是下方的gizp配置哦,直接复制粘贴就可以使用啦,亲测有效哦
        gzip on; # 开启gzip压缩
        gzip_min_length 4k; # 小于4k的文件不会被压缩,大于4k的文件才会去压缩
        gzip_buffers 16 8k; # 处理请求压缩的缓冲区数量和大小,比如8k为单位申请16倍内存空间;使用默认即可,不用修改
        gzip_http_version 1.1; # 早期版本http不支持,指定默认兼容,不用修改
        gzip_comp_level 2; # gzip 压缩级别,1-9,理论上数字越大压缩的越好,也越占用CPU时间。实际上超过2的再压缩,只能压缩一点点了,但是cpu确是有点浪费。因为2就够用了
                 # 压缩的文件类型 MIME类型,百度一下,一大把                                    # css             # xml             # 识别php     # 图片
        gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/x-woff font/ttf;
                 # text                   # 早期js                 # js        # js的另一种写法                                                                                 # .eot字体                   # woff字体  # ttf字体
        gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding,一般情况下建议开启       
}

重新加载配置

nginx -s reload

4. 安装Redis数据库:

sudo yum -y install redis

安装好后启动Redis服务即可:

sudo systemctl start redis

这里同样可以使用redis-cli进入Redis命令行模式操作。

为了可以使Redis能被远程连接,需要修改配置文件,路径为/etc/redis.conf

vi /etc/redis.conf

注释这一行:

#bind 127.0.0.1

推荐给Redis设置密码,自行修 requirepass 参数
修改配置文件

requirepass 密码

然后重启Redis服务:

sudo systemctl restart redis

添加 6379 到防火墙

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

常用命令

# 启动redis服务器
systemctl start redis.service
# 停止redis服务器
systemctl stop redis.service
# 重新启动redis服务器
systemctl restart redis.service
# 获取redis服务器的运行状态
systemctl status redis.service
# 开机启动redis服务器
systemctl enable redis.service
# 开机禁用redis服务器
systemctl disable redis.service

CentOS添加Swap分区

下面命令可以创建一个4G的文件,时间会稍长,耐心等待一下

dd if=/dev/zero of=/data/swap bs=512 count=8388616

bs*count即为容量,如果需要2G的swap可以使用

dd if=/dev/zero of=/data/swap bs=1k count=2048000

of=后面是创建的文件路径,这里以/data/swap为例,如果创建在其他目录下后续的命令也要修改为自己的目录。

将文件设置为swap分区

mkswap /data/swap

启用swap分区

swapon /data/swap

添加到指令到fstab文件中这样系统引导时会自动启动

echo "/data/swap swap swap defaults    0  0" >> /etc/fstab

查看是否生效可用

free -m

如果需要关闭swap分区可以依次执行如下命令文章来源地址https://www.toymoban.com/news/detail-703978.html

swapoff /data/swap
swapoff -a >/dev/null
rm -rf /data/swap

到了这里,关于CentOS云服务器部署配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos7部署时间同步(ntp)服务器

    这里搭建ntp服务器,服务端和客户端,客户端去拉取服务端的时间,为自己所用。 a.安装ntp b.配置文件 最后加上下面的 c.开启服务 d.确认NTP同步正常 输出是 synchronised to NTP server 那证明已经连上了NTP服务器, 如果输出是 unsynchronised 开头的 那证明还没有连上NTP服务器,过几分钟

    2024年01月19日
    浏览(61)
  • Centos 配置DHCP服务器

    1 DHCP服务相关知识 1.1 DHCP是什么? DHCP是Dynaminc Host CrationProtocol(动态主机配置协议)的缩写,主要作用是为网络客户机自动动态分配IP地址 1.2 DHCP作用 DHCP服务器能够动态地为网络中的其他计算机提供IP地址,通过使用DHCP,可以给网络中除DHCP、DNS服务器外的其他服务器设置

    2024年02月04日
    浏览(55)
  • Centos 配置 DNS 服务器

    在连网的情况下,安装 DNS 服务器,使用命令: yum install bind 安装完成过后,关闭 DNS 服务器防火墙命令: systemctl stop firewalld 在 “ # ” 输入命令: gedit /etc/named.conf 进入过后将 listen-on port 53 { 127.0.0.1 ;} allow-query { localhost; } 将上面的两个代码修改为下面图片的样子 2.更新

    2024年02月04日
    浏览(53)
  • Linux系统:CentOS 7 CA证书服务器部署

    目录 一、理论 1.CA认证中心 2.CA证书服务器部署 二、实验 1. CA证书服务器部署 三、总结 (1)概念 CA :CertificateAuthority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书 功能:证书发放、证书更新、证书撤销和证书验证。 作用:身份认证,数据的

    2024年02月10日
    浏览(56)
  • Centos 7 DNS服务器配置

    实验三、DNS的管理配置与应用 1实验目的 (1)了解DNS(域名系统)的工作原理。 (2)掌握Linux操作系统中DNS组件安装。 (3)掌握Linux操作系统中DNS服务的配置方法。 2 实验内容 (1)在Linux Centos7.6操作系统中安装DNS组件并配置DNS服务。 3 实验原理 计算机在网络上进行通讯时只

    2024年02月04日
    浏览(47)
  • 阿里云服务器部署Drupal网站教程基于CentOS系统

    阿里云百科分享如何在CentOS 7操作系统的ECS实例上搭建Drupal电子商务网站。Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。它用于构造提供多种功能和服务的动态网站,能支持从个人博客到大型社区等各种不同

    2024年02月13日
    浏览(41)
  • 配置CentOS服务器以支持PHP

    CentOS是一款优秀的开源服务器操作系统,为各种网络服务提供了强大的支持。为了使CentOS服务器能够支持PHP,我们需要进行一些必要的配置。下面将介绍配置CentOS服务器以支持PHP的关键步骤。 安装PHP 首先,需要安装PHP解释器。在CentOS上,可以使用yum命令来安装PHP。执行以下

    2024年02月04日
    浏览(42)
  • CentOS8服务篇1:配置DNS服务器

          伯克利因特网名称域( Berkeley Internet Name Domain , BIND )服务是全球范围内使用非常广泛,安全可靠且高效的域名解析服务程序。 DNS 域名解析服务作为互联网基础设施服务,其责任非常重大,因此建议大家在生产环境中安装部署 BIND 服务程序时加上 chroot (俗称牢笼机

    2024年02月04日
    浏览(48)
  • Spring Cloud部署篇1——Jar包部署至CentOS云服务器

    开发框架:SpringBoot、SpringCloud、OpenFeign 缓存:Redis分布式缓存 + 本地缓存 数据库:MySQL、MongoDB 网关:Gateway + Sentinel 本次部署的是基于Spring Cloud的微服务项目,需要将现有的gateway网关模块和mingink-system系统服务模块分别打成Jar,并上传到CentOS云服务器进行部署。 父模块pom.x

    2024年02月21日
    浏览(36)
  • Centos7下Samba服务器配置

    环境 vm下centos7.6,IP地址:192.168.139.200 Samba概述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包