实验要求
综合练习:请给openlab搭建web网站
网站需求:
1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!!
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息,[www.openlab.com/data](http://www.openlab.com/data)网站访问教学资料
[www.openlab.com/money网站访问缴费网站](http://www.openlab.com/money网站访问缴费网站)。
3.要求
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于https访问。
注意点
在 Nginx 中,默认的 Web 根目录是 /usr/share/nginx/html
/usr/share/nginx/html/index.html
:欢迎页面。/usr/share/nginx/html/student.html
:学生信息页面。/usr/share/nginx/html/data.html
:教学资料页面。/usr/share/nginx/html/money.html
:缴费页面。
实验过程
[root@node ~]# yum install nginx -y
[root@node ~]# systemctl start nginx
[root@node ~]# systemctl enable nginx
[root@node ~]# cd /etc/nginx/
[root@node nginx]# tree
.
├── conf.d
├── default.d
├── fastcgi.conf
├── fastcgi.conf.default
├── fastcgi_params
├── fastcgi_params.default
├── koi-utf
├── koi-win
├── mime.types
├── mime.types.default
├── nginx.conf
├── nginx.conf.default
├── scgi_params
├── scgi_params.default
├── uwsgi_params
├── uwsgi_params.default
└── win-utf2 directories, 15 files
[root@node nginx]# cd /usr/share/nginx/html
[root@node html]# vim index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Welcome to OpenLab!</title>
</head>
<body><h1>Welcome to OpenLab!!!</h1>
</body>
</html>[root@node html]# vim data.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Teaching Materials</title>
</head>
<body><h1>Teaching Materials</h1><p>Resources and notes for the course.</p>
</body>
</html>[root@node html]# vim money.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Payment Portal</title>
</head>
<body><h1>Payment Portal</h1><p>Please make your payment here.</p>
</body>
</html>[root@node html]# yum install httpd-tools -y[root@node html]# htpasswd -c /etc/nginx/.htpasswd song
New password:
Re-type new password:
Adding password for user song
[root@node html]# htpasswd /etc/nginx/.htpasswd tian
New password:
Re-type new password:
Adding password for user tian[root@node ~]# vim /etc/nginx/nginx.conf
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;server {listen 80;server_name www.openlab.com;location / {root /usr/share/nginx/html;index index.html index.htm;}# 学生信息页面(要求 Basic Auth)location /student {auth_basic "Restricted Access"; # 显示的提示信息auth_basic_user_file /etc/nginx/.htpasswd; # 指向用户密码文件# 其他配置}# 教学资料页面(对所有用户开放)location /data {root /usr/share/nginx/html/data;index index.html index.htm;}# 缴费页面(强制使用 HTTPS)location /money {root /usr/share/nginx/html/money;index index.html index.htm;return 301 https://$server_name$request_uri;}}# SSL 配置(可选)server {listen 443 ssl;server_name www.openlab.com;ssl_certificate /etc/ssl/certs/openlab.crt;ssl_certificate_key /etc/ssl/private/openlab.key;location / {root /usr/share/nginx/html;index index.html index.htm;}# 学生信息页面(要求 Basic Auth)location /student {auth_basic "Restricted Access";auth_basic_user_file /etc/nginx/.htpasswd;}location /data {root /usr/share/nginx/html/data;index index.html index.htm;}location /money {root /usr/share/nginx/html/money;index index.html index.htm;}}
}[root@node ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful[root@node ~]# systemctl restart nginx[root@node ~]# vim /usr/share/nginx/html/index.html[root@node ~]# vim /etc/hosts[root@node ~]# ping www.openlab.com
PING www.openlab.com (192.168.133.20) 56(84) 字节的数据。
64 字节,来自 www.openlab.com (192.168.133.20): icmp_seq=1 ttl=64 时间=0.028 毫秒
64 字节,来自 www.openlab.com (192.168.133.20): icmp_seq=2 ttl=64 时间=0.031 毫秒
64 字节,来自 www.openlab.com (192.168.133.20): icmp_seq=3 ttl=64 时间=0.028 毫秒
主界面
student