博客部署记录

博客部署记录

1 设置ssh

ssh-keygen

将pub添加到github

把本地的.gitconfig给复制过去了

2 下载代码和文件

git clone

3 安装软件

3.1 python3-pip

apt install python3-pip

3.2 mysql

apt install mysql-server
apt install libmysqlclient-dev
apt install pkg-config

3.3 django Pillow markdown yacs mysqlclient

在没有安装mysql的情况下先安装了mysqlclient出错了一次, 可能是没安装libmysqlclient-dev,pkg-config

pip install django
pip install Pillow
pip install markdown
pip install yacs
pip install mysqlclient
pip install uwsgi

3.4 nginx

apt install nginx

配置用户,这个会影响到root权限开网站时静态文件的访问,不该静态文件就403

将文件 /etc/nginx/nginx.conf 中的第一行 user 从 www-data 改为 root。

3.5 v2ray

// 安裝執行檔和 .dat 資料檔
# bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

4 恢复数据库及static文件。

运行脚本

5 测试

将setting 改成debug。

python manage.py runserber 0.0.0.0:8000

让后用ip访问测试,是否正常

6 写入nginx配置文件

7 安装acme

acme 默认用的是zerossl,这个好像需要设置email,现在不设一会儿申请证书的时候又要设。

apt install socat -y
curl https://get.acme.sh | sh -m <email>

8 打开cloudflare, 将域名解析到新的ip上,关闭代理(dns那个小云朵)

9 申请证书

注意不要让nginx或其他程序占用 80 端口。

sudo ~/.acme.sh/acme.sh --issue -d mydomain.me --standalone -k ec-256

申请完成后不需要用哪个安装命令,复制到你需要的位置即可。

比如网站名为a.com, 那么你在 ~/.acme.sh/ 下应该可以找到你个a.com_ecc的文件夹。

拿到里面的a.com.cer 和 a.com.key 即可。

10 开启cloudflare代理

把dns那个小云朵打开

11 启动网站的脚本

我的是django+uwsgi。所以是启动的我写的uwsgi脚本。

12 重启nginx

文章目录