如无特别说明,本文内的操作均是在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源:
bash
sudo yum install -y epel-release
sudo yum -y update
Nginx安装及配置
安装命令:
bash
sudo yum install -y nginx
安装成功后,默认的网站目录为: /usr/share/nginx/html
默认的配置文件为:/etc/nginx/nginx.conf
自定义配置文件目录为: /etc/nginx/conf.d/
监听80端口并跳转443端口:
nginx
server {
listen 80;
server_name xxx.xxx.xxx;
return 301 https://$server_name$request_uri;
}
监听443端口并导入证书:
nginx
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;
}
}
端口转发:
nginx
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 环境安装及配置
普通安装:
bash
sudo yum install nodejs
使用NVM安装:
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
source ~/.bashrc
因为我电脑上的node是14.15.1版本,所以服务器上也安装这个版本:
bash
nvm install v14.15.1
nvm use v14.15.1
MySQL安装及配置
下载并安装MySQL官方的Yum Repository:
bash
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令直接安装Yum Repository:
bash
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装MySQL服务器:
bash
yum -y install mysql-community-server
启动MySQL:
bash
systemctl start mysqld.service
此时MySQL已经开始正常运行,需要找出root的密码。
bash
grep "password" /var/log/mysqld.log
登录MySQL:
bash
mysql -u root -p
输入初始密码,此时不能做任何事情,因为MYSQL默认必须修改密码才能正常使用。
Code
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
# 这里会遇到一个问题,新密码设置过于简单会报错
MySQL配置文件目录:/etc/my.cnf
另外提一下,MySQL占用内存好像有点高,在我的VPS上占了将近150MB的内存,我总共内存才1G,所以下次考虑使用外置的SQL Server或者干脆用sqlite3吧。
Linux系统配置
添加Swap分区
创建一个swap文件:
bash
dd if=/dev/zero of=/swapfile bs=1024 count=1024000
更改Swap文件的权限:
bash
chmod 600 /swapfile
使用如下命令告知系统将该文件用于swap:
bash
mkswap /var/swapfile
输入如下命令开始使用该swap:
bash
swapon /var/swapfile
自动挂载,编辑/etc/fstab
,在最后加上一行:
Code
/swapfile swap swap defaults 0 0
一键脚本整理
代理类
Trojan脚本:
bash
source <(curl -sL https://git.io/trojan-install)
配置文件目录为:/etc/trojan-go/config.json
软件类
Cloudreve部署:
bash
# 解压程序包
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
# 赋予执行权限
chmod +x ./cloudreve
# 启动 Cloudreve
./cloudreve
常用命令整理
文件解压
tar命令:
bash
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命令:
bash
unzip file.zip
unrar e file.rar
文件权限
chmod命令:
bash
chmod 777 xxx.tar # 将xxx的权限设置为777
chown命令:
bash
chown root file # 将file的所有者设置为root
chown root:root file # 将file的所有者和用户组设置为root
文件查找
find命令:
bash
find /dir -name 'file.so'
# 在/dir目录下搜索file.so文件
系统占用
查看剩余内存:free -h
以占用内存大小为顺序显示后台进程:top -o %MEM
以占用CPU大小为顺序显示后台进程:top -o %CPU
查看分区和磁盘:lsblk
查看空间使用情况:df -h
分区工具查看分区信息:fdisk -l