上传写入权限
sudo chown -R ubuntu:ubuntu /home/ubuntu/目录名 # 将 blog 目录及内部文件所属用户改为 ubuntu
sudo chmod -R u+rwX /home/ubuntu/目录名 # 给 ubuntu 用户添加读写权限,目录添加进入权限
或者先上传到有访问呢权限目录的地方,再命令复制
sudo cp /home/ubuntu/Caddyfile /etc/caddy/Caddyfile
加入系统服务实现自启动
路径:/etc/systemd/system/
创建文件:*.service
如果不知道服务名称可查看当前运行列表
systemctl list-units --type=service
示列:
[Unit]
Description=Huey #程序名称
After=network.target gunicorn.service #等待网路和gunicorn启动后运行
[Service]
User=root #用户
Group=root 组
WorkingDirectory=/home/mysite #应用程序所在目录
# 检测reids 远程服务端口是否可访问,再启动
ExecStartPre=/bin/bash -c 'for i in {1..30}; do nc -z 192.168.1.11 6379 && break || sleep 5; done'
#应用程序自身路径
ExecStart=/usr/bin/python3 /home/mysite/manage.py run_huey -w 40 -k greenlet
Restart=always
ExecStartPre=/bin/sleep 20 #延迟20秒运行
[Install]
WantedBy=multi-user.target
从虚拟python环境运行
[Unit]
Description=flask
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/home/flask
Environment="PATH=/home/flask/venv/bin"
ExecStart=/home/flask/venv/bin/python /home/flask/ask.py
[Install]
WantedBy=multi-user.target
#添加文件后重新加载systemd配置
sudo systemctl daemon-reload
#启动
sudo systemctl start myapp
#查看运行
sudo systemctl status myapp
#停止
sudo systemctl stop myapp
#重启
sudo systemctl restart myapp
#重载
sudo systemctl reload myapp
#开机启动
sudo systemctl enable redis-server
#禁止开机启动
sudo systemctl disable myapp
#查看错误
sudo journalctl -u blog.service -r
时区问题
timedatectl list-timezones //查看时区
sudo timedatectl set-timezone Asia/Shanghai //设置系统时区
sudo apt install --reinstall tzdata //安装时区
静态目录
加入程序目录为/home/www
把static目录放置在jingtai/static目录
然后定位到www目录下,执行sudo ln -s /home/www/jingtai/static static
这样程序在开发的时候指定static目录就会上传到/jingtai/static,
而反向代理的根目录就是root * /home/www/jingtai/
所以浏览器访问 /static目录也刚刚好被反向代理定位到/jingtai/static