瑞瑞哥的博客

记一次服务器迁移

记一次服务器迁移

安装Nginx和Web应用

重新安装Nginx

安装nginx本身

具体见这里https://imququ.com/post/my-nginx-conf.html

  1. 安装依赖

    1
    2
    mkdir ~/install/nginx -p
    sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev unzip git -y
  2. 安装nginx-ct

    1
    2
    wget -O nginx-ct.zip -c https://github.com/grahamedgecombe/nginx-ct/archive/v1.3.2.zip
    unzip nginx-ct.zip

    nginx-ct感觉不太需要了,很多证书自带证书透明度

  3. 安装brotli

    先准备安装libbrotli:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sudo apt-get install autoconf libtool automake

    git clone https://github.com/bagder/libbrotli
    cd libbrotli
    # 如果提示 error: C source seen but 'CC' is undefined,可以在 configure.ac 最后加上 AC_PROG_CC
    ./autogen.sh
    ./configure
    make
    sudo make install
    cd ../

    获取 ngx_brotli 源码,后续会用到:

    1
    2
    3
    4
    git clone https://github.com/google/ngx_brotli.git
    cd ngx_brotli
    git submodule update --init
    cd ../
  4. 编译安装Nginx,这里参考了TLS 1.3的相关内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    wget http://nginx.org/download/nginx-1.17.6.tar.gz
    tar zxf nginx-1.17.6.tar.gz

    wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz
    tar zxf OpenSSL_1_1_1d.tar.gz

    cd nginx-1.17.6

    ./configure --add-module=../ngx_brotli --add-module=../nginx-ct-1.3.2 --with-openssl=../openssl-OpenSSL_1_1_1d --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl-opt='enable-tls1_3'
    make
    sudo make install

    # 导入环境变量
    echo "export PATH=/usr/local/nginx/sbin/:$PATH" >> /etc/profile

    # 准备nginx日志文件路径
    mkdir -p /var/log/nginx

拷贝配置文件和密钥

更新密钥的定时任务

拷贝www文件

注册Nginx为服务

1
2
3
4
5
6
7
8
9
[Unit]
Description=nginx
Documentation=https://ruiruigeblog.com
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecStop=/usr/bin/killall nginx
LimitNOFILE=65535

安装Squid

参考安装Squid作为HTTPS代理

安装zsh和oh-my-zsh

请见我的这个帖子:Ubuntu配置好用的zsh环境

安装git

现在都是用阿里云的gitlab了,这一节忽略

安装梯子

pass

参考

https://halfrost.com/tls1-3_start/

https://imququ.com/post/enable-tls-1-3.html