16.实现动态 WEB 内容
试题概述:
在 server0 上配置提供动态 Web 内容,要求如下:
动态内容由名为webapp0.example.com 的虚拟主机提供
虚拟主机侦听在端口 8909
从http://classroom/pub/materials/webinfo.wsgi下载一个脚本, 然后放在适当的位置,无论如何不要修改此文件的内容
客户端访问 http:// webapp0.example.com:8909 可接收到动态生成的 Web 页
此 http:// webapp0.example.com:8909/必须能被example.com 域内的所有系统访问
解题参考
yum -y install mod_wsgi
mkdir /var/www/html/webapp0/
cd /var/www/html/webapp0/
wget http://classroom/pub/materials/webinfo.wsgi
cd /etc/httpd/conf.d/
cp httpd-vhosts.conf wsgi.conf
vim wsgi.conf
Listen 8909
<VirtualHost *:8909>
DocumentRoot /var/www/webapp0
ServerName webapp0.example.com
WSGIScriptAlias / /var/www/webapp0/webinfo.wsgi
</VirtualHost>
semanage port -a -t http_port_t -p tcp 8909 //调整SELinux策略,允许Web服务使用8909端口
firewall-cmd --permanent --add-port=8909/tcp
firewall-cmd --reload
systemctl restart httpd
验证方式:
firefox http://webapp0.example.com:8909
或者
curl http://webapp0.example.com:8909
解读:
WSGIScriptAlias / /var/www/webapp0/webinfo.wsgi
语句的含义是:后者webinfo.wsgi是前者的wsgi脚本别名,意味着访问http://webapp0.example.com:8909/就相当于访问http://webapp0.example.com:8909/webinfo.wsgi
semanage port -a -t http_port_t -p tcp 8909
因为selinux默认是不给8909端口http_port_t标签的,所以我们要给它加上这个标签
列出SELinux当前许可的Web端口命令:semanage port -l | grep ^http_port
共有 0 条评论