下面是详解基于centos7搭建Nginx网站服务器的完整攻略:
1. 安装Nginx
在CentOS 7中安装Nginx非常简单,只需要运行以下命令即可:
sudo yum install epel-release
sudo yum install nginx
2. 配置Nginx服务
完成安装后,需要对Nginx服务进行基本的配置:
sudo systemctl start nginx
sudo systemctl enable nginx
这会启动Nginx服务,并在系统启动时自动启动。
可以验证Nginx是否运行,并且是否正确安装了,打开Web浏览器并访问服务器的IP地址:
http://server_IP_address/
如果一切正常,应该会看到Nginx的缺省欢迎页面。
3. 配置虚拟主机
虚拟主机允许在一个物理服务器上托管多个网站,每个网站都有自己的域名和独立的目录结构。
首先,在“/etc/nginx/conf.d/”目录下,创建一个配置文件,例如“example.com.conf”,并输入以下内容:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
以上配置指定了一个虚拟主机,“example.com”,监听80端口,指向“/var/www/example.com”目录,和其他配置。
下一步是创建虚拟主机的实际目录,运行以下命令:
sudo mkdir /var/www/example.com
sudo chown -R nginx:nginx /var/www/example.com
sudo chmod -R 755 /var/www/example.com
这将创建虚拟主机的目录,并设置必要的权限。
最后,重新启动Nginx服务并验证虚拟主机是否正常工作。例如:
sudo systemctl restart nginx
然后打开Web浏览器并访问虚拟主机的域名:
http://example.com/
这应该会看到虚拟主机指向的缺省页面。
示例1:搭建静态网站
下面是一个搭建静态网站的示例过程:
- 创建静态网页的目录,例如:/var/www/static-site
-
在该目录下,创建一个名为 index.html 的文件,并编写一些简单的 HTML 代码来显示一些基本文本。例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Static Site</title>
</head>
<body>
<h1>Welcome to my Static Site!</h1>
<p>This is a basic web page hosted on a CentOS server running Nginx.</p>
</body>
</html> -
配置Nginx指向静态网页的目录,并将其与虚拟主机联系起来。可以使用以下Nginx服务器块:
```
server {
listen 80;
server_name static.example.com;
root /var/www/static-site;index index.html; access_log /var/log/nginx/static.example.com.access.log; error_log /var/log/nginx/static.example.com.error.log; location / { try_files $uri $uri/ =404; }
}
``` -
重启Nginx服务并验证静态网站是否正常工作。
示例2:部署Django网站
下面是一个部署Django网站的示例过程:
-
安装Python及Django
sudo yum install python3
sudo pip3 install django -
创建Django项目并进入项目目录
django-admin startproject mysite
cd mysite -
运行Django内置服务器,验证是否正常
python3 manage.py runserver
-
配置Nginx反向代理,指向Django内置服务器。在“/etc/nginx/conf.d/”目录下,创建一个配置文件,例如“example.com.conf”,并输入以下内容:
```
server {
listen 80;
server_name example.com;access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
}
```此配置使Nginx将所有来自“example.com”的请求发送到本地端口8000上的Django服务器。
-
重新启动Nginx服务并验证Django网站是否正常工作。
以上就是基于centos7搭建Nginx网站服务器的完整攻略,包括虚拟web主机的配置。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解基于centos7搭建Nginx网站服务器(包含虚拟web主机的配置) - Python技术站