基于NGINX
综合练习:请给
openlab
搭建
web
网站
网站需求:
1.
基于域名
www.openlab.com
可以访问网站内容为 welcome to openlab!!!
2.
给该公司创建三个子界面分别显示学生信息,教学资料 和缴费网站,基
www.openlab.com/data
网站访问教学资料
www.openlab.com/money网站访问缴费网站
。
3.
要求
(
1
)学生信息网站只有
song
和
tian
两人可以访问,其他 用户不能访问。
(
2
)访问缴费网站实现数据加密基于
https
访问。
前提准备:
setenforce 0
#关闭防火墙
systemctl stop firewalld
# 安装所需软件
[root@server ~]# yum install nginx httpd-tools -y
对本地的host文件添加dns映射
地址: C:\Windows\System32\drivers\etc
添加内容:虚拟机ip 域名
![](https://i-blog.csdnimg.cn/blog_migrate/8f63cc61b3a2aa7b7517da01eaa27be5.png)
创建网站
--创建网页目录及其网页
[root@server ~]# mkdir -p /www/openlab
3 [root@server ~]# echo 'welcom to openlab' > /www/openlab/index.html
4 [root@server ~]# vim /etc/nginx/nginx.conf
以下是写在文件中的内容
5 server {
6 listen 80;
7 server_name www.openlab.com;
8 root /www/openlab;
9 }
10 [root@server ~]# systemctl start nginx 启动nginx
测试:
创建教学资料子网站
[root@server ~]# mkdir /www/openlab/data
2 [root@server ~]# echo 'data' > /www/openlab/data/index.html
3 [root@server ~]# vim /etc/nginx/nginx.conf
# 接着之前的继续向下编写
8 # 增加如下子配置
9 location /data {
alias /www/openlab/data;
index index.html index.htm;
12 }
13 }
15 [root@server ~]# systemctl restart nginx 重启服务
测试:
创建学生信息子网站
[root@server ~]# mkdir /www/openlab/student
2 [root@server ~]# echo 'student' >
/www/openlab/student/index.html
3 [root@server ~]# useradd song
4 [root@server ~]# passwd song # 密码自设
5 [root@server ~]# useradd tian
6 [root@server ~]# passwd tian # 密码自设
7 [root@server ~]# htpasswd -c
/etc/nginx/passwd song # 密码自设
8 [root@server ~]# htpasswd /etc/nginx/passwd tian
9 [root@server ~]# vim /etc/nginx.conf
# 接着之前的继续向下编写
18 # 增加如下子配置
19 location /student
20 {
alias /www/openlab/student;
index index.html index.htm;
23 auth_basic "Please input password";
auth_basic_user_file /etc/nginx/passwd;
25 }
26 }
27 [root@server ~]# systemctl restart nginx 重启服务
不同的浏览器可能有不同的提示形式 这里只用输入我们设计的两个账户密码就可以登录进入 最后就是学生信息的界面 student
创建缴费子网站
因为要求此网站实现数据加密 所以我们需要制作证书
1 [root@server ~]# mkdir /www/openlab/money
3 [root@server ~]# echo 'money' > /www/openlab/money/index.html
5 [root@server ~]# openssl genrsa -aes128 2048 > /etc/nginx/money.key
6 Generating RSA private key, 2048 bit long
modulus (2 primes)
7 ....................+++++
8 ...................................+++++
9 e is 65537 (0x010001)
10 Enter pass phrase: # 输入加密私钥的密码
11 Verifying - Enter pass phrase: # 在输入一遍
12 [root@server ~]# openssl req -utf8 -new -key /etc/nginx/money.key -x509 -days 365 -out /etc/nginx/money.crt # 制作证书
13 Enter pass phrase for /etc/nginx/money.key:
14 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blank For some fields there will be a default value,If you enter '.', the field will be left blank.
20 -----# 证书信息:
21 Country Name (2 letter code) [AU]:86
22 State or Province Name (full name) [SomeState]:shanxi
23 Locality Name (eg, city) []:xi'an
24 Organization Name (eg, company) [Internet
Widgits Pty Ltd]:openlab
25 Organizational Unit Name (eg, section)
[]:RHCE
26 Common Name (e.g. server FQDN or YOUR name)
[]:server
27 Email Address []:hh@qq.com
28
29 [root@server ~]# cd /etc/nginx
30 [root@server nginx]# cp money.key money.key.org
31 [root@server nginx]# openssl rsa -in money.key.org -out money.key
32 Enter pass phrase for money.key.org: # 输入私钥密码
33 writing RSA key
34 [root@server nginx]# vim /etc/nginx/nginx.conf
51 # 增加以下内容
52 server {
53 listen 443 ssl http2;
54 server_name www.openlab.com;
55 location /money {
alias /www/openlab/money;
index index.html index.htm;
}
ssl_certificate "/etc/nginx/money.crt";
ssl_certificate_key "/etc/nginx/money.key";
}
63 [root@server nginx]# systemctl restart nginx 重启服务
测试:
![](https://i-blog.csdnimg.cn/blog_migrate/85e0957e126912b158ecfdbe04c7a710.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f7dac03a57a0cf299f4db5931faca3cb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/642edf8073c235b957d3b00a7205ff4e.png)
到此 题目中的问题就解决了。