初学者指南:如何搭建和配置 nginx 服务器
nginx 是一个高性能的 http 和反向代理服务器,也是一个 imap/pop3/smtp 代理服务器。本文将详细介绍如何在 linux 上安装、配置和管理 nginx 服务器。
一、安装 nginx
nginx 可以安装在多种操作系统上,如 ubuntu、debian、centos 等。以下是分别在 ubuntu 和 centos 上的安装步骤:
在 ubuntu 上安装 nginx:
更新包索引:
sudo apt update
安装 nginx:
sudo apt install nginx
启动 nginx 服务:
sudo systemctl start nginx
设置 nginx 开机自启动:
sudo systemctl enable nginx
在 centos 上安装 nginx:
安装 epel 仓库:
sudo yum install epel-release
安装 nginx:
sudo yum install nginx
启动 nginx 服务:
sudo systemctl start nginx
设置 nginx 开机自启动:
sudo systemctl enable nginx
二、基本配置
安装完成后,nginx 的默认配置文件位于 /etc/nginx/nginx.conf
。我们可以通过编辑该文件或添加新的配置文件来配置 nginx。
检查 nginx 状态:
sudo systemctl status nginx
重新加载 nginx 配置:
每次修改 nginx 配置文件后,需要重新加载配置以使更改生效:
sudo systemctl reload nginx
三、配置虚拟主机
虚拟主机允许你在一台服务器上托管多个网站。我们可以通过编辑 /etc/nginx/sites-available/
目录中的文件来配置虚拟主机。
创建虚拟主机配置文件:
在 /etc/nginx/sites-available/
目录中创建一个新的配置文件,例如 example.com
:
sudo nano /etc/nginx/sites-available/example.com
添加以下内容到配置文件中:
server { listen 80; server_name example.com www.example.com; #server_name该为自己的域名 root /var/www/example.com/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } }
创建网站根目录并添加测试文件:
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
创建一个简单的 index.html
文件:
echo "<html><body><h1>welcome to example.com!</h1></body></html>" > /var/www/example.com/html/index.html
启用虚拟主机配置:
创建一个指向 sites-available
目录中配置文件的符号链接到 sites-enabled
目录:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
测试 nginx 配置并重新加载:
sudo nginx -tsudo systemctl reload nginx
四、设置防火墙
确保防火墙允许 http 和 https 流量。
在 ubuntu 上使用 ufw:
sudo ufw allow 'nginx full' sudo ufw enable sudo ufw status
在 centos 上使用 firewalld:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
五、使用 https
为了增强网站的安全性,可以使用 let’s encrypt 提供的免费 ssl 证书来启用 https。
安装 certbot 和 nginx 插件:
在 ubuntu 上:
sudo apt install certbot python3-certbot-nginx
在 centos 上:
sudo yum install certbot python2-certbot-nginx
获取 ssl 证书:
使用 certbot 获取并自动配置 ssl 证书:
sudo certbot --nginx -d example.com -d www.example.com
验证 ssl 证书的自动续期:
certbot 自动创建了一个 cron 任务以每 12 小时检查和自动续期证书。你可以使用以下命令模拟续期过程以确保其正常工作:
sudo certbot renew --dry-run
六、总结
通过以上步骤,你已经成功地在 linux 上安装并配置了 nginx 服务器。你学习了如何设置虚拟主机、配置防火墙以及使用 let’s encrypt 启用 https。希望这篇初学者指南对你有所帮助。
到此这篇关于教你如何快速搭建和配置 nginx 服务器的文章就介绍到这了,更多相关nginx 服务器搭建和配置内容请搜索3w代码以前的文章或继续浏览下面的相关文章希望大家以后多多支持3w代码!
发表评论