U盘直装CentOS 8并配置服务器环境教程指南

前言

徐小宝:本文仅以经验指南,涉及Linux系统安装,服务器环境配置等,方便自我查找刨坑。

一、前期准备

  1. 一块16G的U盘(CentOS8的完整包有8.6G);
  2. CentOS镜像:官网地址;选择国内镜像下载,国外极慢。如遇下载中途中断连接失败,请使用比特彗星等BT下载器下载。
  3. 启动盘制作软件,建议使用软碟通 UltraISO,直接百度即可(也可以使用大白菜老毛桃等工具制作启动盘),下文仅以软碟通 UltraISO示例教程;
    软碟通UltraISO网盘链接:https://pan.baidu.com/s/11xg9x4aRAoKvm1rz6sRaWg 提取码:uiso

二、制作启动盘(以软碟通 UltraISO为例)

1.导入镜像

打开软件后,在菜单栏打开已经下载好的CentOS镜像(文件 —>打开

2. 写入镜像

将镜像写入U盘中(启动—>写入硬盘映像),硬盘驱动器选择事先准备好的U盘,写入方式默认。先进行U盘格式化,而后点击写入即可

3. 静候佳音

这些操作完以后就静候写入完成,大概需要半个小时至一个小时,过程有些漫长。

三、系统装机

1. 进入快速启动界面

将电脑重启,在看到品牌页面的时候按 F12 进入快速启动界面(不同品牌快捷键不同,U盘快捷键查询1U盘快捷键查询2或直接百度),选择U盘所在项直接回车

2. 进入安装配置页

上下键选择第一项,然后按 E 进入配置页,部分可能有例外,具体按什么看下方提示;

3. 设置安装配置参数

将框选部分修改为 “hd:/dev/shb4 quiet”("/shb4"仅为示范不同电脑不同,如遇找不到的错误提示,按实际修改,如"/sha1"、"/shb3"等等) ,如下图所示,修改前后对比。修改完成后按 Ctrl+X (具体看下方按键提示),等待片刻后进入系统安装界面;
修改前
修改后

4. 语言选择

在该页面选择使用的语言,而后点击前进进入下一步

5. 配置系统主要信息:
  1. 时间与日期设置:按实际点击选择
  2. 安装源设置:可选择本地安装源,也可选择网络安装源。选择网络安装源的话,在URL处填入:mirrors.aliyun.com/centos/8/BaseOS/x86_64/os
  3. 软件选择:按自己的需要选择,小白可以直接选择带GUI界面的
  4. 用户设置:根密码是root用户,创建用户是普通用户(建议在此处创建完毕,最好设置为管理员)
    Tips:选择网络安装源时,需要配置网络和主机名,一般直接点打开自动即可
  5. 选择需要配置的硬盘,一般SSD做系统盘,机械硬盘做数据盘,存储配置选择自定义

    分区选择标准分区或LVM,然后点击自动分区。如果不是新硬盘则需要点开未知将里面的原分区删除
    在这里插入图片描述
    分完区以后可以进行微调。默认自动分区以后多余的空间都挂载数据"/home"下,可在此将数据盘按需进行重新划分大小,设置挂载点,如"/data"、"/mnt"、"/var"等等。可以省去系统安装完毕后很多配置命令。
    以上全部设置完成以后,选择安装,等待些许时间以后就能得到一台全新的搭载CentOS 8的服务器了。

四、服务器环境配置

1.设置数据盘挂载点权限

设置命令:sudo chmod 777 路径(如我的数据盘挂载点为"/data",则输入sudo chmod 777 /data)

2.使用OneinStack进行服务器环境一键部署

使用OneinStack可以快速的部署搭建服务器环境,可根据实际需求选择安装不同的环境。以下示例:

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --tomcat_option 1 --jdk_option 2 --db_option 1 --dbinstallmethod 1 --dbrootpwd 123456 --pureftpd  --redis  --ssh_port 22 --reboot 

具体配置以官网为主,如遇命令出错可能是以下情况:
1)权限不够:在命令前加sudo 即可,或者使用root用户操作
2)未安装yum源之类:yum -y install wget screen (具体可百度)
其他问题可百度或官网查看
命令运行完毕后将会自动配置好环境以及服务

3.安装Linux可视化Web服务器管理软件Cockpit

可直接在自带的软件商店搜索安装或命令行自行安装,如下:
1)执行以下命令,安装Cockpit和基本的模块
yum -y install cockpit cockpit-dashboard cockpit-storaged cockpit-packagekit
2)启动cockpit服务
systemctl enable –now cockpit.socket
3)打开网页登录。Cockpit使用9090端口,使用http://ip:9090进行访问即可,用户名和密码均与系统一致
更详细的指南可参考

Linux管理工具Cockpit安装及使用

4.服务器安全性设置(关于Linux中wheel用户组的简单使用)

设置只有属于wheel组的用户才可以用su登录为root
1)vim /etc/pam.d/su
将其中的 # auth required pam_wheel.so use_uid
前面的#删掉,wq保存
2)vim /etc/login.defs
在最后一行增加 SU_WHEEL_ONLY yes 语句
3)usermod -G wheel 用户名
将一个用户添加到wheel组中
4)设置允许连接的用户 vim /etc/ssh/sshd_config
添加 AllowUsers 允许连接的用户名
修改 PermitRootLogin no (默认yes root用户可远程)
修改端口 Port 9999(自定义)
更详细的讲解参考下文

Linux中的wheel用户组是什么?

5.超级终端及FTP工具(Xshell和Xftp)

这两者搭配可以说是非常强大了,而且官方还有校园家庭免费版
Xshell、Xftp下载
进入页面填写邮箱等基本信息提交即可,稍等片刻将在邮箱收到下载链接

当然也不止这一款工具,类似的还有secureCRT和secureFX,Filezilla Xshell,Putty等等产品,萝卜白菜各取所好

五、一些坑。。。

1.使用MySQL 8后的一些奇奇怪怪的问题
1)大小写敏感

mysql5.7的时候是默认大小写不敏感的,而最新版的则需要自行设置。由于大小写敏感的设置只能在初始化的时候进行设置,否则将会报错。也算是OneStack一键配置的一些坑叭。
首先修改my.cnf配置文件,添加或修改为(默认值0):lower-case-table-names=1

vim /etc/my.cnf

首先清空数据库

rm -rf /data/mysql

然后初始化MySQL数据库

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --lower-case-table-names=1
2)sql_mode设置

MySQL8默认不设置,需要自行配置。
不配置可能遇到使用GROUP BY 语句报错等
首先修改my.cnf配置文件

vim /etc/my.cnf

添加sql_mode,如下示例,可根据需求更改

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

设置好保存,用如下命令重启MySQL即可

service mysqld restart
3)常用的sql_mode参数:

a)ONLY_FULL_GROUP_BY
对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中
b)NO_AUTO_VALUE_ON_ZERO
该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。
c)STRICT_TRANS_TABLES
如果一个值不能插入到一个事务中,则中断当前的操作,对非事务表不做限制
d)NO_ZERO_IN_DATE
不允许日期和月份为零
e)NO_ZERO_DATE
MySQL数据库不允许插入零日期,插入零日期会抛出错误而不是警告
f)ERROR_FOR_DIVISION_BY_ZERO
在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如果未给出该模式,那么数据被零除时MySQL返回NULL
g)NO_AUTO_CREATE_USER
禁止GRANT创建密码为空的用户
h)NO_ENGINE_SUBSTITUTION
如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
i)PIPES_AS_CONCAT
将"||"视为字符串的连接操作符而非或运算符
j)ANSI_QUOTES
不能用双引号来引用字符串,因为它被解释为识别符

4)root密码修改、添加新用户及远程连接

a)直接强制修改密码,参考如下指南

如何获取MySQL root密码?
Linux Mysql 8.0以上版本数据库, root忘记密码如何重置

b)设置root用户远程连接
进入MySQL控制台

mysql -uroot -p

依次输入以下即可

use mysql;
update user set host='%' where user='root' and host='localhost';
quit;

c)添加新用户并授权

CREATE USER 'test'@'%' IDENTIFIED BY 'password'; //用户名、密码自定义
GRANT ALL ON *.* TO 'test'@'%'; // *.*表示所有数据库及数据表,可按实际设置:数据库名.数据表名
FLUSH PRIVILEGES; //保存授权

或者直接使用数据库管理软件直接添加,如SQLyog、Navicat、DBeaver等等

2.Nginx服务启动失败:Failed to start nginx - high performance web server.

一般是由于Nginx配置文件出错引起,做如下处理
添加Nginx专属用户,不授权登录

useradd nginx -s /sbin/nologin -M

修改Nginx.conf

vi /usr/local/nginx/conf/nginx.cnf
//设置user nginx nginx;

保存重启Nginx服务即可

service nginx start
3. 偶现超级终端登录被拒绝,su鉴定故障

这极大可能是root用户密码过于简单导致,直接重置

sudo passwd root

输入以上命令重设root用户密码,解决一切问题

总结

以上是U盘直装CentOS 8并配置服务器环境教程指南,血与泪的经验,希望对你有所帮助。如有转载或引用请注明。站在巨人的肩膀上看世界。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值