跳到主要内容

第10章 KVM图形化管理

项目地址

安装依赖命令

信息

yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor gcc python-devel pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

安装python的Django环境

信息

git clone git://github.com/retspen/webvirtmgr.git cd webvirtmgr pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ./manage.py syncdb ./manage.py collectstatic

安装配置Nginx

cat > /etc/yum.repos.d/nginx.repo<<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF

yum install nginx -y
mkdir /code
mv /opt/webvirtmgr /code/
chown -R nginx:nginx /code
rm -rf /etc/nginx/conf.d/default.conf

创建nginx配置文件:

cat >/etc/nginx/conf.d/webvirtmgr.conf<<EOF
server {
listen 80 default_server;
server_name localhost;
access_log /var/log/nginx/webvirtmgr_access_log;

location /static/ {
root /code/webvirtmgr;
expires max;
}

location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-for \$proxy_add_x_forwarded_for;
proxy_set_header Host \$host:\$server_port;
proxy_set_header X-Forwarded-Proto \$scheme;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
client_max_body_size 1024M;
}
}
EOF

nginx -t
systemctl start nginx
netstat -lntup|grep 80

配置Supervisor

cat >/etc/supervisord.d/webvirtmgr.ini<<EOF
[program:webvirtmgr]
command=/usr/bin/python /code/webvirtmgr/manage.py run_gunicorn -c /code/webvirtmgr/conf/gunicorn.conf.py
directory=/code/webvirtmgr
autostart=true
autorestart=true
logfile=/var/log/supervisor/webvirtmgr.log
log_stderr=true
user=nginx

[program:webvirtmgr-console]
command=/usr/bin/python /code/webvirtmgr/console/webvirtmgr-console
directory=/code/webvirtmgr
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
redirect_stderr=true
user=nginx
EOF

systemctl start supervisord.service
supervisorctl status

创建用户

mkdir /var/lib/nginx/.ssh/ -p
chown -R nginx:nginx /var/lib/nginx/
su - nginx -s /bin/bash
ssh-keygen
touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/.ssh/config
chmod 0600 ~/.ssh/config
exit

adduser webvirtmgr
echo "123456"|passwd --stdin webvirtmgr
su - nginx -s /bin/bash
ssh-copy-id root@10.0.0.100

web页面操作

安装完成后,通过浏览器访问 http://服务器IP 即可进入WebVirtMgr管理界面。

报错解决

如果遇到pip相关错误,可以尝试:

python -m pip install --upgrade --force pip
pip install setuptools==33.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple