如无特别说明,本文内的操作均是在CentOS 7环境下!
本文会不定期更新。
最近更新:MySQL安装及配置、添加Swap分区

服务器玩的多了之后,各种常用的操作越来越多了,每次用都还得上网搜一下很麻烦,于是打算写一篇文章来总结一下。

常用软件安装

先介绍一下EPEL源:

EPEL源 (Extra Packages for Enterprise Linux) 是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附加包集合适用于但不仅限于 Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL), Oracle Linux (OL)

配置 EPEL源:

1
2
sudo yum install -y epel-release
sudo yum -y update

Nginx安装及配置

安装命令:

1
sudo yum install -y nginx

安装成功后,默认的网站目录为: /usr/share/nginx/html

默认的配置文件为:/etc/nginx/nginx.conf

自定义配置文件目录为: /etc/nginx/conf.d/

监听80端口并跳转443端口:

1
2
3
4
5
server {
listen 80;
server_name xxx.xxx.xxx;
return 301 https://$server_name$request_uri;
}

监听443端口并导入证书:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server{
# 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
listen 443 ssl;
# 域名,多个以空格分开
server_name xxx.xxx.xxx

# ssl证书地址
ssl_certificate /usr/local/nginx/cert/ssl.pem; # pem文件的路径
ssl_certificate_key /usr/local/nginx/cert/ssl.key; # key文件的路径

# ssl验证相关配置
ssl_session_timeout 5m; #缓存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
ssl_prefer_server_ciphers on; #使用服务器端的首选算法

location / {
root html;
index index.html index.htm;
}
}

端口转发:

1
2
3
4
5
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:5212/;
}

Node.js 环境安装及配置

普通安装:

1
sudo yum install nodejs

使用NVM安装:

1
2
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
source ~/.bashrc

因为我电脑上的node是14.15.1版本,所以服务器上也安装这个版本:

1
2
nvm install v14.15.1
nvm use v14.15.1

MySQL安装及配置

下载并安装MySQL官方的Yum Repository:

1
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令直接安装Yum Repository:

1
yum -y install mysql57-community-release-el7-10.noarch.rpm

安装MySQL服务器:

1
yum -y install mysql-community-server

启动MySQL:

1
systemctl start  mysqld.service

此时MySQL已经开始正常运行,需要找出root的密码。

1
grep "password" /var/log/mysqld.log

登录MySQL:

1
mysql -u root -p

输入初始密码,此时不能做任何事情,因为MYSQL默认必须修改密码才能正常使用。

1
2
3
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

# 这里会遇到一个问题,新密码设置过于简单会报错

MySQL配置文件目录:/etc/my.cnf

另外提一下,MySQL占用内存好像有点高,在我的VPS上占了将近150MB的内存,我总共内存才1G,所以下次考虑使用外置的SQL Server或者干脆用sqlite3吧。

Linux系统配置

添加Swap分区

创建一个swap文件:

1
dd if=/dev/zero of=/swapfile bs=1024 count=1024000

更改Swap文件的权限:

1
chmod 600 /swapfile

使用如下命令告知系统将该文件用于swap:

1
mkswap /var/swapfile

输入如下命令开始使用该swap:

1
swapon /var/swapfile

自动挂载,编辑/etc/fstab,在最后加上一行:

1
/swapfile swap    swap    defaults      0    0

一键脚本整理

代理类

Xray脚本:

1
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/Xray_onekey/main/install.sh" && chmod +x install.sh && bash install.sh

配置文件目录为:/usr/local/etc/xray/config.json

Trojan脚本:

1
source <(curl -sL https://git.io/trojan-install)

配置文件目录为:/etc/trojan-go/config.json

软件类

Cloudreve部署:

1
2
3
4
5
6
7
8
# 解压程序包
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz

# 赋予执行权限
chmod +x ./cloudreve

# 启动 Cloudreve
./cloudreve

常用命令整理

文件解压

tar命令:

1
2
3
tar –xvf file.tar  # 解压 tar包
tar -xzvf file.tar.gz # 解压tar.gz
tar -xzvf file.tar.gz -C /home/tar # 解压tar.gz到tar目录

unrar/unzip命令:

1
2
unzip file.zip
unrar e file.rar

文件权限

chmod命令:

1
chmod 777 xxx.tar # 将xxx的权限设置为777

chown命令:

1
2
chown root file # 将file的所有者设置为root
chown root:root file # 将file的所有者和用户组设置为root

文件查找

find命令:

1
2
find /dir -name 'file.so'
# 在/dir目录下搜索file.so文件

系统占用

查看剩余内存:free -h

以占用内存大小为顺序显示后台进程:top -o %MEM

以占用CPU大小为顺序显示后台进程:top -o %CPU

查看分区和磁盘:lsblk

查看空间使用情况:df -h

分区工具查看分区信息:fdisk -l