..

安装code-server并配置nginx反向代理

本文生成时间为2025年1月16日,若发现内容已经过时,请联系我修改。

Introduction

文件编辑器是程序员的日常工具,而code-server是一个基于vscode的在线编辑器,可以在浏览器中使用vscode的功能。本文将介绍如何在Arch Linux上安装code-server,并通过nginx反向代理使其能够通过域名访问。

# 系统信息
OS: Arch Linux x86_64 
Host: CVM 3.0 
Kernel: 6.12.8-arch1-1 
Uptime: 8 days, 4 hours, 35 mins 
Packages: 196 (pacman) 
Shell: zsh 5.9 
Resolution: 1024x768 
Terminal: /dev/pts/0 
CPU: AMD EPYC 7K62 (2) @ 2.595GHz 
GPU: 00:02.0 Cirrus Logic GD 5446 
Memory: 425MiB / 1966MiB 

安装code-server, nginx, certbot

yay -S code-server nginx certbot

配置code-server

设置code-server密码和端口

sudo vim ~/.config/code-server/config.yaml

设置开机启动以及立即启用code-server服务

sudo systemctl enable --now code-server@USER

以下是重点

配置nginx反向代理

/etc/nginx/下创建两个新文件夹

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

修改nginx的配置文件,在http块中添加include sites-enabled/*;types_hash_max_size 4096;[3-4]

sudo vim /etc/nginx/nginx.conf

创建域名对应的nginx配置文件

sudo vim /etc/nginx/sites-available/example.conf

此时只需要写进server_name信息和location即可,不要添加TSL证书的代码,后面certbot会自动生成相应的TSL信息

server {
       ##服务器域名
       server_name example;

       ##地址
       location / {
        ##本地code-server的端口
        proxy_pass http://localhost:端口号/;
        ##必要的头设置
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Host $host;
        }
}

启用该配置文件

ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

启动并设置开启启动nginx服务

sudo systemctl enable --now nginx

安装TSL证书

最后一步,安装TSL证书,使网站能够通过https访问。certbot会自动配置nginx的TSL信息。

sudo certbot --nginx -d example