sudo apt update
sudo apt install nginx
sudo systemctl start nginx
默认网页目录:/var/www/html/
sudo systemctl stop nginx # 停止
sudo systemctl restart nginx # 重启
sudo systemctl enable nginx # 开机自启
报错
Synchronizing state of nginx.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable nginx
问题原因
Ubuntu/Debian 等系统在从 SysV init 迁移到 systemd 时,可能会保留旧的 SysV 初始化脚本。
当你运行 systemctl enable nginx 时,systemd 会调用 systemd-sysv-install 来确保 SysV 和 systemd 的启用状态一致。
解决方案
(推荐)完全使用 systemd 管理 Nginx
如果不再需要 SysV 脚本,可以删除它:
bash
sudo update-rc.d -f nginx remove # 移除 SysV 启动项
sudo rm /etc/init.d/nginx # 删除旧版 SysV 脚本(谨慎操作,先备份)
然后重新用 systemd 启用 Nginx:
bash
sudo systemctl enable nginx
sudo systemctl start nginx
创建一个web
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
echo "<h1>Welcome to example.com</h1>" > /var/www/example.com/html/index.html
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80; # IPv6
server_name example.com www.example.com; # 绑定的域名
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t # 检查语法
sudo systemctl restart nginx
添加文件权限
chmod 644 /path/to/your.pdf