https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/ hostnamectl set-hostname CentOS hwclock timedatectl timedatectl set-timezone Asia/Shanghai /etc/firewalld/firewalld.conf /usr/lib/firewalld/firewalld.conf nmcli vi /etc/sysconfig/network-scripts/ifcfg-ens nmcli c reload nmcli c down ens nmcli c up ens cat /etc/redhat-release cd /etc/yum.repos.d baseurl=https://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/ baseurl=https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/ baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os/ # dnf -y install epel-release # dnf clean all # dnf makecache # dnf repolist dnf list installed dnf search dnf install dnf reinstall dnf remove dnf download dnf info dnf check-update dnf grouplist dnf install vim dnf install wget dnf install bash-completion dnf install net-tools rpm -qa | grep kernel dnf erase httpd dnf install httpd sudo systemctl status firewalld systemctl list-unit-files | grep httpd chkconfig httpd on (systemctl enable httpd) systemctl start httpd httpd -v hostname -I | awk '{print $1}' $ sudo firewall-cmd --permanent --zone=public --add-service=http $ sudo firewall-cmd --permanent --zone=public --add-service=https $ sudo firewall-cmd --reload curl 127.0.0.1:80 /etc/httpd/conf/httpd.conf dnf install cockpit systemctl enable cockpit.socket systemctl start cockpit.socket firewall-cmd --permanent --add-service=cockpit firewall-cmd --reload systemctl status cockpit.socket ss -tunlp | grep cockpit netstat -lnp | grep 9090 ps auxf|grep cockpit dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel which java ls -lrt /usr/bin/java ls -lrt /etc/alternatives/java cat <<EOF | sudo tee /etc/profile.d/java.sh export JAVA_HOME=/usr/lib/jvm/java-openjdk export PATH=\$PATH:\$JAVA_HOME/bin export CLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar EOF source /etc/profile.d/java.sh
vi /etc/profile.d/java.sh #set java environment JAVA_HOME=/usr/local/jdk/jdk1.8.0_162 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH chmod 755 /etc/profile.d/java.sh source /etc/profile.d/java.sh
boot安装源 https://mirrors.aliyum.com/centos/8/BaseOS/x86_64/os/
一,个人用
如果是个人用,就没必要分那么多区,分一个区,或者二个区就行了。
分一个区,就要一个根分区就行了/,我的多系统里面的linux都是一个分区。
分二个区,一个/boot分区,一个根分区/
关于服务器的分区,不要分的太多,适合自己就行,有二种比较好的方法,适合二种不同的人
喜欢用软件管理工具的人,pacman,yum,apt-get等。
这种人喜欢用软件自带的软件来安装web服务器,mysql服务器,mail服务器等。
/boot 分区100M,绝对够用了。
/home 硬盘大小*4% 根据用户数据的多少,进行增减
/user 硬盘大小*6% 喜欢用管理工具,但是总还有要自己编译安装的东西
/swap 内在大小*2
/var 硬盘大小*70% 默认安装的文件包基本上都在这里面,以及web服务,mysql服务等,所以这种分区要足够大
/tmp 硬盘大小*10% 做为服务器用,log文件会很多,所以单独拿出来。如果定时清理可适当减少。
/ 剩下的都给根分区
手动编译安装灵活性比较高,但是如果升级系统,可能会导致手动安装的东西不能用。
/boot 分区100M,绝对够用了。
/home 硬盘大小*60% 例如:我要建一个web服务器,建一个nginx的用户组和用户,然后呢,肯定要先下载源代码,然后放到nginx用户的根目录下面,安装的目录放到 /usr/local下面,代码目录也放在nginx用户的根目录下面,而不是放在/var下面,产生的log可能也放在nginx用户的根目录下面。这 样服务器相关的东西,都放在用户的目录下面,这样的用户的这个目录要很大。
/user 硬盘大小*20% 用户安装的地方,放在/usr/local下面,所以这个目录也要大点。
/swap 内在大小*2
/var 硬盘大小*10% 很多的系统文件放在/var下面,单独分区,可以提高服务器的性能
/ 剩下的都给根分区
hostnamectl set-hostname CentOS hwclock timedatectl timedatectl set-timezone Asia/Shanghai
cd /etc/yum.repos.d/
mv ./*.* ./bak/
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
curl -o CentOS-Base.repo http://
mirrors.aliyun.com
/repo/Centos-8.repo
ls -l /etc/yum.repos.d/
cat /etc/yum.repos.d/CentOS-Base.repo
dnf makecache
sshd --help
ssh -V
sshd -t //查配置文件的有效性和密匙的完整性
vim /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no //禁用root登陆
PasswordAuthentication no //禁止密码登陆
#Port 22
Port 31234
semanage port -l|grep ssh
semanage port -a -t ssh_port_t -p tcp 10086
firewall-cmd --permanent --query-port=10086/tcp
firewall-cmd --permanent --add-port=10086/tcp
firewall-cmd --reload
systemctl restart sshd
systemctl restart firewalld.service
shutdown -r now
firewall-cmd --permanent --zone=public --remove-port=22/tcp
firewall-cmd --reload
firewall-cmd --list-ports
SSH:
ll ~/.ssh/id_*.pub
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
ssh-copy-id remote_username@server_ip_address -p
PasswordAuthentication no
ChallengeResponseAuthentication no
systemctl restart sshd
JAVA:
dnf search java | grep -i --color JDK
dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel
dirname $(readlink $(readlink $(which java)))
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el8_1.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/lib/tool.jar
export PATH=$PATH:$JAVA_HOME/bin
. /etc/profile
mysql:
for i in $(rpm -qa|grep mysql);do rpm -e $i --nodeps;done
rm -rf /var/lib/mysql && rm -rf /etc/my.cnf && rm -rf /usr/share/mysql
whereis mysql
find /-name mysqlyum remove mysql mysql-server mysql-libs
dnf localinstall rpm
dnf update
dnf install mysql-server
dnf install mysql
rpm -qa | grep mysql
ps -ef | grep mysql
mysqladmin --version
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
cd /usr/bin // 相关命令
find my*
/usr/share/mysql // 配置文件目录
/var/lib/mysql //数据库文件目录
/etc/my.cnf.d //mysql的启动配置文件
client.cnf //mysql客户端配置文件
mysql-server.cnf //mysql守护进程配置文件
mysql-default-authentication-plugin.cnf //默认权限授权配置文件
mysql -uroot
use mysql; //选择数据库
alter user 'root'@'localhost' identified by'root'; //修改密码
flush privileges; //刷新权限表
select host,user,authentication_string from user;
CREATE USER 'root'@'%' IDENTIFIED BY 'Root_123456';
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root_123456';
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
systemctl restart firewalld
redis:
配置文件: /etc/redis/redis.conf
备份文件: /var/lib/redis/*.rdb|*.aof
日志文件: /var/log/redis/redis-server.log
启动文件: /etc/init.d/redis-server
dnf install redissystemctl enable --now redis
vim /etc/redis.conf
bind 127.0.0.1 192.168.1.233
systemctl restart redis
ss -an | grep 6379
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.1.11/24 --permanent
sudo firewall-cmd --reload
redis-cli -h 192.168.1.10 ping