博客部署记录
博客部署记录
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脚本。