一台新的云服务器,如何配置基础环境:
0. 更新软件包和存储库
sudo yum update -y
1. 防火墙设置
# 启动防火墙
systemctl start firewalld
# 查看防火墙状态
sudo firewall-cmd --state
# 开放9000端口
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
# 关闭9000端口
sudo firewall-cmd --zone=public --remove-port=9000/tcp --permanent
# 重新加载防火墙
sudo firewall-cmd --reload
# 展示已开放的端口
sudo firewall-cmd --zone=public --list-ports
2. 安装git
sudo yum install git -y
git --version
# 配置用户名/邮箱
git config --global user.name "xingkong"
git config --global user.email "xingkong@orange.com"
# 生成公钥/私钥
ssh-keygen -t rsa -C "xingkong@orange.com"
# 切换到秘钥目录
cd /root/.ssh/
# 查看公钥内容,配置到仓库(github,gitee, gitlab等)
cat ~/.ssh/id_rsa.pub
# clone代码
git clone https://gitee.com/xingkong/happyDrunk.git
3. 安装nodeJS
sudo yum install epel-release
sudo yum install nodejs
node --version
sudo yum install npm --enablerepo=epel
sudo npm install -g express
sudo npm install -g express-generator
npm --version
# 国内npm install比较卡,推荐安装yarn
npm install -g yarn
yarn install
4. 安装redis
# 安装依赖gcc,因为redis是c语言开发的
yum install -y gcc
# 下载安装包,并解压
wget https://download.redis.io/releases/redis-7.0.2.tar.gz
tar -zxf redis-7.0.2.tar.gz
# 进入目录
cd redis-7.0.2
# 编译并且安装
make && make install
# 备份原始配置
cp redis.conf redis.conf.bck
# 开始修改配置
vim redis.conf
# 输入/xxx 可以进行搜索,i进行编辑,wq保存退出
# 开启守护进程,redis可以后台运行
daemonize yes
# 设置redis密码(建议开启密码)
requirepass LOVE1993love=
# 开启远程访问
bind 127.0.0.1 -::1 注释掉
# 保存配置退出vim
:wq!
# 用修改后的配置启动redis
redis-server redis.conf
# 进入客户端,查看redis状态,看到ok就连上了
redis-cli
auth LOVE1993love=
5. 安装配置nginx
# 安装nginx
sudo yum install nginx
# 修改nginx配置
vim /etc/nginx/nginx.conf
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或IP地址,如果要填两个用.隔开即可
location / {
root /path/to/your/files; # 替换为文件所在的绝对路径
autoindex on; # 开启目录列表显示
autoindex_exact_size on; # 对文件大小进行精准计算
autoindex_localtime on; # 显示文件信息
index index.html index.htm; # 设置默认索引页面
}
}
# 修改nginx权限,搜索user,后面nginx改为当前用户或者root,保存退出vim
# 修改文件权限
chmod -R 755 /path/to/your/files
# 重启nginx服务
sudo systemctl restart nginx
6.配置Nginx(http转https,https反向代理http,wss)
server {
listen 80;
server_name xingkong666.asia;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name xingkong.asia;
ssl_certificate /etc/nginx/conf.d/cert/cert.pem;
ssl_certificate_key /etc/nginx/conf.d/cert/cert.key;
# 访问静态文件的路径
location / {
root /root/nginxResp/www;
index index.html;
}
# 配置
location /happyDrunk {
root /root/nginxResp;
autoindex on;
}
# 配置 http
location /api {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection '';
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
# 配置 WebSocket
location /wss {
proxy_pass http://localhost:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# https://xingkong666.asia/api 进行http访问
# wss://xingkong666.asia/wss 进行websocket访问