【LINUX操作系统】搭建web网络服务器

发布于:2025-07-22 ⋅ 阅读:(11) ⋅ 点赞:(0)

题目:

请给openlab搭建web网站

1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab

2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/data网站访问教学资料 www.openlab.com/money网站访问缴费网站

3.要求

(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。

(2)访问缴费网站实现数据加密基于https访问。

第一步:准备工作

[root@master ~]# systemctl status firewalld    #查看防火墙状态
[root@master ~]# getenforce                    #查看selinux状态
[root@master ~]# yum install nginx mod_ssl -y  #下载安装包
[root@master ~]# systemctl enable --now nginx  #重新启动服务
[root@master ~]# mkdir -p /www/openlab         #新建目录
[root@master ~]# mkdir /www/openlab/data       #新建子目录
[root@master ~]# mkdir /www/openlab/student
[root@master ~]# mkdir /www/openlab/money
[root@master ~]# tree /www                     #查看创建结果
[root@master ~]# echo "welcome to openlab" > /www/openlab/index.html    #将内容写入网页文件中
[root@master ~]# echo "data" > /www/openlab/data/index.html
[root@master ~]# echo "student" > /www/openlab/student/index.html
[root@master ~]# echo "money" > /www/openlab/money/index.html
[root@master ~]# tree /www

       在windows中找到文件,将自己电脑的IP地址和域名写入其中后保存,就可以在自己电脑中用自己的IP地址和域名访问了。

配置文件格式一定:【主机的IP地址      域名】

第二步:创建www.openlab.con网站

[root@master ~]# vim /etc/nginx/nginx.conf   #编辑配置文件 
server {
        listen       80;                     #基于80端口
        server_name  www.openlab.com;        #域名
        root         /www/openlab;           #该文件所在目录
        
    }
[root@master ~]# systemctl restart nginx     #重启服务
[root@master ~]# nginx -t                    #检查配置文件是否有错误

 

测试:直接用域名访问就行

第三步:创建教学资料网站www.openlab.com/data

[root@master ~]# vim /etc/nginx/nginx.conf           #编辑配置文件
server {
        listen       80;                       
        server_name  www.openlab.com;
        root         /www/openlab;
        location     /data  {                        #子网站data
                     alias  /www/openlab/data;       #data网站所在目录
                     index  index.html  index.htm;   #可以访问的文件类型
                     }
    }
[root@master ~]# systemctl restart nginx             #重启服务
[root@master ~]# nginx -t                            #检查配置文件中是否有错误

测试:直接用域名访问

第四步:创建学生信息子网站www.openlab.com/student

[root@master ~]# useradd song                                    #创建用户song

[root@master ~]# useradd tian                                    #创建用户tian

[root@master ~]# passwd song                                     #交互式修改密码  
更改用户 song 的密码 。
新的密码: 123
无效的密码: 密码少于 8 个字符
重新输入新的密码: 123
passwd:所有的身份验证令牌已经成功更新。

[root@master ~]# echo "123" | passwd --stdin tian > /dev/null    #非交互式修改密码

[root@master ~]# htpasswd -c /etc/nginx/passwd song              #给用户
New password:123456 
Re-type new password:123456

[root@master ~]# htpasswd /etc/nginx/passwd tian
New password:123456 
Re-type new password:123456

[root@master ~]# vim /etc/nginx/nginx.conf
    server {
        listen       80;                        
        server_name  www.openlab.com;
        root         /www/openlab;
        location     /data  {
                     alias  /www/openlab/data;
                     index  index.html  index.htm;
                     }

        location     /student  {
                     alias  /www/openlab/student;
                     index  index.html  index.html;
                     auth_basic  "Please input password";
                     auth_basic_user_file  /etc/nginx/passwd;
                     }

    }


[root@master ~]# systemctl restart nginx
[root@master ~]# nginx -t

试:域名测试(两个用户都可以测试,如果使用另外一个需要将浏览器的缓存清理,继续输入域名访问即可。)

第五步:创建缴费子网站www.openlab.com/money

[root@master ~]# openssl genrsa -aes128  2048  >  /etc/nginx/money.key     #在/etc/nginx目录下制作整数所用的私钥文件money.key
Enter pass phrase:123456                                       #加密私钥密码123456
Verifying - Enter pass phrase:123456                           #确认

[root@master ~]# openssl req -utf8 -new -key /etc/nginx/money.key -x509 -days 365 -out  /etc/nginx/money.crt                                           #制作证书
Enter pass phrase for /etc/nginx/money.key:123456              #加密私钥密码123456
Country Name (2 letter code) [AU]:86                           #国家代码
State or Province Name (full name) [Some-State]:shan'xi        #省份
Locality Name (eg, city) []:xi'an                              #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:openlab #公司
Organizational Unit Name (eg, section) []:dev                  #部门     
Common Name (e.g. server FQDN or YOUR name) []:master          #主机名
Email Address []:123456@qq.com                                 #邮箱

[root@master ~]# cp /etc/nginx/money.key /etc/nginx/money.key.org #将私钥拷贝并失效 

[root@master ~]# openssl rsa -in /etc/nginx/money.key.org -out /etc/nginx/money.key 
Enter pass phrase for /etc/nginx/money.key.org:123456          #私钥密码

[root@master ~]# vim /etc/nginx/nginx.conf
    server {
        listen       80;                                       #监听80端口号
        server_name  www.openlab.com;                          #域名
        root         /www/openlab;                             #默认网页目录地址      
        location     /data  {
                     alias  /www/openlab/data;                  
                     index  index.html  index.htm;
                     }

        location     /student  {
                     alias  /www/openlab/student;             #绝对路径存储目录
                     index  index.html  index.html;
                     auth_basic  "Please input password";     #加密网页验证时的提示信息
                     auth_basic_user_file  /etc/nginx/passwd; #加密网页使用的密码验证文件 
                     }

    }

    server {
       listen        443 ssl http2;                           #监听443端口号
       server_name   www.openlab.com;                         #域名
       location      /money   {                               #子网站 
                     alias  /www/openlab/money;               #绝对路径网站根目录
                     index  index.html  index.htm;     
                     }
       ssl_certificate "/etc/nginx/money.crt";                #证书存储目录
       ssl_certificate_key "/etc/nginx/money.key";            #密钥存储目录    
    }


[root@master ~]# systemctl restart nginx
[root@master ~]# nginx -t

试:域名测试


网站公告

今日签到

点亮在社区的每一天
去签到