下面我将为你详细讲解在Ubuntu系统上安装Nginx服务器的简单方法的攻略。
准备工作
在安装Nginx服务器之前,你需要先确保你的Ubuntu系统是最新的,可以通过以下命令来升级系统:
sudo apt update
sudo apt upgrade
安装Nginx
在Ubuntu系统上安装Nginx服务器非常简单,只需要在终端中输入以下命令即可:
sudo apt install nginx
当然,安装速度会受网络的影响,如果网络不佳,可能会比较慢。
配置Nginx
安装完Nginx之后,我们需要配置一下Nginx服务器。Nginx的配置文件位于/etc/nginx
目录中,我们可以通过修改nginx.conf
文件来更改Nginx服务器的默认设置。
比如,我们可以修改默认网站的目录,让它指向我们自己的网站目录。我们可以在/etc/nginx/sites-available
目录下创建一个新的配置文件来定义我们自己的网站。比如,我们可以创建一个叫做mywebsite.conf
的文件,然后输入以下内容:
server {
listen 80;
server_name mywebsite.com;
root /path/to/my/website/files;
index index.html;
}
在这个配置文件中,我们定义了一个名为mywebsite.com
的虚拟主机,监听80端口,并将网站文件的根目录指定为/path/to/my/website/files
。我们还指定了默认的首页文件名为index.html
。
编辑完配置文件之后,我们需要将它链接到/etc/nginx/sites-enabled
目录中,这样Nginx才能够读取它。我们可以使用以下命令来完成链接:
sudo ln -s /etc/nginx/sites-available/mywebsite.conf /etc/nginx/sites-enabled/
最后,我们需要重启一下Nginx服务器,使配置文件生效。可以使用以下命令重启Nginx:
sudo systemctl restart nginx
示例
下面给出两个示例说明。
示例1:修改默认网站目录
在Ubuntu系统上安装Nginx服务器之后,我们可以访问http://localhost
来查看Nginx默认网站的欢迎页面。这个页面的文件位于/var/www/html
目录下。如果我们想要修改默认网站的目录,可以按照以下步骤来操作:
- 创建一个新的网站目录,比如
/home/username/mywebsite
。
bash
mkdir /home/username/mywebsite
- 将一个简单的
index.html
文件复制到这个目录。
bash
echo "Hello, World!" > /home/username/mywebsite/index.html
- 修改Nginx的配置文件,将默认的网站目录指向新的路径。可以通过以下命令来编辑
nginx.conf
文件:
bash
sudo nano /etc/nginx/nginx.conf
找到root
指令,并将其值修改为新的网站目录的路径:
nginx
http {
...
server {
...
location / {
root /home/username/mywebsite;
}
...
}
...
}
- 退出编辑器,保存文件。然后使用以下命令重启Nginx服务器,使配置文件生效:
bash
sudo systemctl restart nginx
- 最后,访问
http://localhost
,你应该可以看到Hello, World!
这个页面了。
示例2:使用HTTPS
Nginx服务器也支持使用HTTPS协议来进行加密通信。如果你想在Ubuntu系统上使用HTTPS,可以按照以下步骤来操作:
- 安装
openssl
包和certbot
工具。openssl
包用于生成SSL证书,而certbot
工具则可以帮助我们自动申请证书和进行配置。可以使用以下命令来安装它们:
bash
sudo apt install openssl certbot
- 创建一个
mywebsite.conf
配置文件,与之前的示例相同,不过需要将listen
指令改为listen 443 ssl
,并且添加一些SSL配置,如下所示:
```nginx
server {
listen 443 ssl;
server_name mywebsite.com;
ssl_certificate /etc/letsencrypt/live/mywebsite.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mywebsite.com/privkey.pem;
root /path/to/my/website/files;
index index.html;
# SSL settings
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparams.pem;
}
```
在这个配置文件中,我们定义了一个名为mywebsite.com
的虚拟主机,监听443端口,并启用了SSL加密。我们还指定了SSL证书和密钥文件的路径,以及一些SSL配置,如会话缓存、协议、加密算法等。
- 在终端中执行以下命令,创建一个名为
mywebsite.com
的证书,并将这个证书安装到Nginx中。
bash
sudo certbot --nginx -d mywebsite.com
在运行这个命令之前,你需要确保你的域名已经解析到你的服务器的IP地址,否则Certbot将无法完成验证。
- 最后,编辑
/etc/nginx/nginx.conf
文件,将这条语句:
nginx
include /etc/nginx/sites-enabled/*;
替换为这条:
nginx
include /etc/nginx/sites-enabled/* ssl;
然后使用以下命令重启Nginx服务器,使配置文件生效:
bash
sudo systemctl restart nginx
- 现在你的网站已经启用了HTTPS协议,你可以通过
https://mywebsite.com
来访问它。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Ubuntu系统上安装Nginx服务器的简单方法 - Python技术站