目前,我们较多的服务器WEB环境都是用的Nginx引擎,我们采用服务器的目的是可以获取到更多的资源,而且建站数量是不受限制的。我们可以根据自己需要配置Nginx,可以自定义特定域的设置,允许您在单个服务器上运行多个网站。 对于每个网站,我们可以设置站点文档根目录(包含网站文件的目录)、创建单独的安全策略、使用不同的 SSL 证书等等。

在这篇文章中,我们在Debian10环境中配置Nginx引擎模块。

第一、满足基本要求

找配置之前,我们需要服务器确保已满足以下先决条件: 1、指向我们服务器 IP 的域名 2、我们的服务器采用的是Debian镜像,这里我们用的是Debian10

第二、创建目录结构 文档根目录是存储域名网站文件并响应请求提供服务的目录。 文档根目录可以是服务器上的任何目录。 本文中的示例使用以下目录结构:

/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
├── domain3.com
│ └── public_html

基本上,我们将在 /var/www 目录中为要在服务器上托管的每个域创建一个单独的目录。 在每个目录中,我们将创建一个 public_html 目录,用于存储域网站文件。 运行以下命令为域example.com创建根目录:

sudo mkdir -p /var/www/example.com/public_html

接下来,在域的文档根目录中创建一个 index.html 文件:

sudo nano /var/www/example.com/public_html/index.html

添加点内容:

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html>

授权:

sudo chown -R www-data: /var/www/example.com

第三、创建服务器模块

默认情况下,在 Debian 系统上,Nginx 服务器块配置文件存储在 /etc/nginx/sites-available 目录中。 要激活配置,我们需要将文件符号链接到 /etc/nginx/sites-enabled/ 目录。 打开文本编辑器并创建以下服务器块文件:

sudo nano /etc/nginx/sites-available/example.com.conf

编辑:

server {
listen 80;
listen [::]:80; root /var/www/example.com/public_html; index index.html; server_name example.com www.example.com; access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log; location / {
try_files $uri $uri/ =404;
}
}

配置文件可以任意命名,我们可以使用自己的域名名创建的,容易识别。 通过创建从文件到启用站点的目录的符号链接来启用新的服务器块文件:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

检查:

sudo nginx -t

如果出现下面内容表示正常:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo systemctl restart nginx

重启Nginx生效。 这样,我们就可以完整的添加当前一个站点。类似,如果我们需要添加其他站点也是如此,只是绑定的域名目录不同。不过,如果我们有用脚本一键包,或者是WEB面板的话,就没有必要这样手工设置。

参考:https://www.cnbanwagong.com/debian-set-nginx.html

最新文章

  1. js学习篇--数组按升序降序排列
  2. 给自定义cell赋值代码
  3. python中字符串\r的奇怪问题
  4. Oracle 课程一之Oracle体系结构
  5. CSS3新增UI样式
  6. ORACLE外键和锁
  7. poj1623 Squadtrees
  8. winow.open打开窗口被拦截的解决方法
  9. powerdesigner反向MySQL5.1数据库 生成ER图
  10. HDU 1026 Ignatius and the Princess I 迷宫范围内的搜索剪枝问题
  11. MySQL(十)之视图
  12. Unix代码段和数据段
  13. requests+正则爬取豆瓣图书
  14. Java 短信发送
  15. 28.Hibernate-HQL查询.md
  16. flex布局demo
  17. Visual Studio Code compile error - launch.json must be configured...
  18. 《Python》 property、classmethod、staticmethod、isinstance、issubclass
  19. [MySQL FAQ]系列 — EXPLAIN结果中哪些信息要引起关注
  20. 转:Python 文本挖掘:使用gensim进行文本相似度计算

热门文章

  1. Git 提交和拉取服务器最新版本代码方法
  2. VUE学习-mixin混入
  3. 你到底懂不懂JavaScript?来做做这12道面试题试试!
  4. 2022-05-31内部群每日三题-清辉PMP
  5. 函数:3ds max 给选择对象设置轴心点
  6. 7. mixin的实现原理
  7. 解决Idea 中Java编译器的版本自动变成1.5的问题
  8. 【windows】bat脚本、批处理文件
  9. Python 自动化中三种等待时间的详解
  10. 一篇教会你写90%的shell脚本