返回

部署nginx服务指南:在容器环境中构建高效网站基础

前端

前言

nginx (engine x) 是一款高性能的 HTTP 和反向代理 Web 服务器,因其卓越的性能、稳定性和丰富的功能而被广泛使用。它支持多种协议,包括 HTTP、HTTPS、FTP、Mail 和更多,还提供了负载均衡、SSL 加密、动静分离等强大的功能。

安装 docker

1. 安装依赖库

首先,你需要确保你的系统已经安装了必要的依赖库。通常,这些库包括:

yum install yum-utils device-mapper-persistent-data lvm2

2. 添加 docker 源

接下来,你需要将 docker 的源添加到你的系统中。你可以使用以下命令:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装 docker

现在,你可以使用以下命令安装 docker:

yum install docker-ce

4. 启动 docker 服务

安装完成后,你需要启动 docker 服务:

systemctl start docker

安装 nginx

1. 拉取 nginx 镜像

现在,你可以使用以下命令拉取 nginx 镜像:

docker pull nginx

2. 创建并启动 nginx 容器

接下来,你需要创建一个 nginx 容器。你可以使用以下命令:

docker run -d --name my-nginx -p 80:80 nginx

这个命令将创建一个名为 "my-nginx" 的容器,并将其映射到主机的 80 端口。

部署网站

1. 创建网站目录

现在,你需要在你的主机上创建一个网站目录。你可以使用以下命令:

mkdir /var/www/html/my-website

2. 复制网站文件

接下来,你需要将你的网站文件复制到这个目录。你可以使用以下命令:

cp -r /path/to/my-website/* /var/www/html/my-website

3. 修改 nginx 配置

现在,你需要修改 nginx 的配置。你可以使用以下命令打开 nginx 的配置文件:

vim /etc/nginx/conf.d/default.conf

找到以下行:

root /var/www/html;

将其修改为:

root /var/www/html/my-website;

4. 重启 nginx

最后,你需要重启 nginx 服务。你可以使用以下命令:

systemctl restart nginx

优化 nginx

1. 启用 Gzip 压缩

Gzip 压缩可以减少网站页面的大小,从而提高网站的加载速度。你可以使用以下命令启用 Gzip 压缩:

gzip on;

2. 设置缓存

缓存可以提高网站的性能,因为可以减少服务器的请求次数。你可以使用以下命令设置缓存:

location / {
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my-cache:10m;
    proxy_cache_key "$scheme$request_method$host$request_uri";
    proxy_cache_valid 200 302 1h;
    proxy_cache_valid 404 1m;
}

3. 启用 SSL

SSL 可以加密网站的数据,从而提高网站的安全性。你可以使用以下命令启用 SSL:

listen 443 ssl;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/certificate.key;

安全 nginx

1. 限制访问

你可以使用以下命令限制对 nginx 的访问:

location / {
    allow 127.0.0.1;
    deny all;
}

2. 禁用目录列表

你可以使用以下命令禁用目录列表:

location / {
    autoindex off;
}

3. 启用日志记录

你可以使用以下命令启用日志记录:

error_log /var/log/nginx/error.log;

性能 nginx

1. 增加 worker 进程数

你可以使用以下命令增加 worker 进程数:

worker_processes 4;

2. 增加连接数

你可以使用以下命令增加连接数:

worker_connections 1024;

3. 启用 keepalive

你可以使用以下命令启用 keepalive:

keepalive_timeout 65;

结论

在本文中,我们详细介绍了如何在 docker 容器环境中安装、启动和部署 nginx 服务。我们还提供了优化、安全和性能方面的建议,以帮助你构建一个高效稳定的 nginx 服务。希望本指南对你有帮助!