安装Nginx

在开始安装Nginx之前,确保您已经完成了一些必要的准备工作。这包括更新系统软件包列表和安装所需的依赖项。

在终端中执行以下命令,以确保您的系统软件包列表是最新的:

sudo apt update

升级系统以应用最新的安全更新和功能改进:

sudo apt upgrade

在安装Nginx之前,您可能需要安装一些依赖项,以确保Nginx能够正常运行。一般来说,这些依赖项已经在Ubuntu系统中安装,但为了确保完整性,您可以运行以下命令:

sudo apt install -y curl gnupg2 ca-certificates lsb-release

通过这些步骤,您的系统将会是最新的,并且具备了安装Nginx所需的基本条件。

使用apt安装Nginx

现在,我们将通过apt包管理器在Ubuntu 22.04上安装Nginx。apt是Ubuntu系统中用于管理软件包的强大工具,使得安装和更新软件变得非常简便。

执行以下命令以安装Nginx:

sudo apt install -y nginx

这会下载并安装Nginx及其相关组件。 -y选项表示在安装过程中不询问任何确认,直接进行安装。

安装完成后,可以使用以下命令启动Nginx服务:

sudo systemctl start nginx

确保Nginx在系统启动时自动启动,可以执行以下命令:

sudo systemctl enable nginx

管理Nginx服务

了解如何管理Nginx服务是非常重要的,包括启动、停止和重启服务,以及查看Nginx的状态和日志。

使用以下命令启动Nginx服务:

sudo systemctl start nginx

停止Nginx服务:

sudo systemctl stop nginx

重新启动Nginx服务:

sudo systemctl restart nginx

要查看Nginx服务的当前状态,可以使用以下命令:

sudo systemctl status nginx

Nginx的日志文件位于/var/log/nginx/目录下。可以使用以下命令查看错误日志:

sudo tail -f /var/log/nginx/error.log

HTTPS配置

使用Let's Encrypt提供的Certbot工具可以轻松申请和管理SSL证书。首先,安装Certbot:

sudo apt install -y certbot

然后,运行Certbot来获取SSL证书:

sudo certbot certonly --nginx -d mywebsite.com -d www.mywebsite.com

Certbot将引导您完成SSL证书的获取过程,并将证书文件保存在/etc/letsencrypt/live/mywebsite.com/目录中。

打开Nginx虚拟主机配置文件:

sudo nano /etc/nginx/sites-available/mywebsite

server块中添加以下配置,启用SSL:

server {
   
   
    listen 80;
    server_name mywebsite.com www.mywebsite.com;

    # Redirect HTTP to HTTPS
    return 301 https://$host$request_uri;
}

server {
   
   
    listen 443 ssl;
    server_name mywebsite.com www.mywebsite.com;

    ssl_certificate /etc/letsencrypt/live/mywebsite.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mywebsite.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/mywebsite.com/chain.pem;

    location / {
   
   
        root /var/www/mywebsite;
        index index.php index.html;
    }

    location ~ \.php$ {
   
   
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存配置文件后,创建配置文件的符号链接并重新加载Nginx:

sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
sudo systemctl reload nginx