webvirtmgr安装

目录

一、环境设置

1.关闭防火墙

2.关闭安全机制

3.查看是否支持虚拟机

 4.查看KVM模式是否安装(lsmod显示已载入的系统模式)

5.修改主机名(可改可不改)

6.设置免密

二、webvirtmgr下载 

(1)创建data目录,将WebVirtMgr移动到data目录,同时创建KVM存储目录

(2) 克隆项目

(3) 初始化环境

(4) 配置Django 静态页面

(5)继续添加管理员用户,可以执行下面的命令(可不做)

6.测试安装是否正常

三、supervisor安装

1.supervisor下载

2.WebVirtMgr默认使用supervisor进行管理(启动停止服务)

3.启动

4.supervisor常用命令 

四、nginx安装

1.安装

 1.下载链接

 2.解压

 3.编译安装

1.配置

2. 编译

 3. 安装

4. 修改配置文件

 5.添加用户

6.命令

(1)启动

(2)检查nginx配置文件

(3)重启

(4)关闭nginx

(5)reopen重新打开日志文件

6.http://IP地址/login/

四、安装KVM 

五.vncserver远程图形界面

1.下载

2 .操作步骤:

3.重新加载systemd配置

4.启用服务,将vncserver服务设置为开机自启动

5.查看状态 

6.图形界面的安装方式:



一、环境设置

1.关闭防火墙

防火墙的作用: 内核的一套网络保护机制,通过firewalld服务来控制

firewall-cmd --zone=public --parmanent  --add-port=80/tcp

systemctl stop firewall

systemctl disable firewall

2.关闭安全机制

作用:内核的一套系统保护机制,通过内核启动参数来控制或者启动配置来控制

如何关闭 SELinux机制:

SELinux机制有三种:

1、enforcing 强制模式

2、permissive 宽松模式,打印警告

3、disabled 禁用模式

(1) 修改机制方法: vi /etc/selinux/config 然后在里面修改 SELINUX = 值,将值改成上面的三种机制即可,默认是强制保护模式。

配置更改后,需要重启主机才生效。

(2) setenforce 0|1 ,立即变成宽松模式/强制模式。 

setenforce 查看结果

修改 vim /etc/selinux/config 

SELINUX=disabled

3.查看是否支持虚拟机

egrep -c '(vmx|svm)' /proc/cpuinfo

cat /proc/cpuinfo |grep -E 'vmx|svm'

 4.查看KVM模式是否安装(lsmod显示已载入的系统模式)

lsmod|grep kvm

 

 没找到可以使用:

自动处理可载入模块命令modprobe

modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]

参数:

-a 或 --all载入全部的模块
-c或--show-conf显示所有模块的设置信息
-d或--debug使用排错模式
-l或--list显示可用的模块
-r--remove

模块闲置不用时,即自动卸载模块

-t或--type指定模块类型
-v或--verbose执行时显示详细的信息
-V或--version 显示版本信息
-help显示帮助

5.修改主机名(可改可不改)

hostnamectl set-hostname 主机名

6.设置免密

ssh-keygen -t rsa

ssh-copy-id IP地址


二、webvirtmgr下载 

  使用开源的虚拟化技术,对公司自有的少数服务器进行虚拟化,在满足业务需求的同时,并未增加投入,同时也避免了使用云主机的不便,技术层面,kvm是开源的虚拟化产品,虚拟化性能出众,更重要的是免费!!!WebVirtMgr作为kvm虚拟化的web管理工具,图形化的WEB,让人能更方便的查看kvm 宿主机的情况和操作,使用kvm+webvirtmgr便可满足当前场景的业务需求,虚拟化的同时,也能够进行便捷的管理。采用纯Python开发,其前端是基于Python的Django,后端是基于Libvirt的Python接口,将日常kvm的管理操作变的更加的可视化。

WebVirtMgr 介绍

  •     WebVirtMgr采用几乎纯Python开发,其前端是基于Python的Django,后端是基于Libvirt的Python接口,将日常kvm的管理操作变的更加的可视化。
  • webvirtmgr并不是像openstack一样的虚拟化一站式解决方案,它的工作原理其中就是通过一个web页面,将多台物理机接入进来,然后通过libvirt分别管理每个物理机上的计算资源。要创建虚拟机时,才是管理员自行找到一个合适的物理,然后在上面创建虚拟机。那么在KVM集群环境,存储已经通过Ceph或Glusterfs方案解决了,当要创建某个配置的虚拟机时,最好能有一个调度器,依据CPU、内存的需求,帮助管理员从众多物理机中选取一个合适的物理机。简单处理,也许可以写一个脚本,根据CPU、内存的需求自动得出一个物理机选取推荐列表,以供管理员参考
  • webvirtmgr所部署的主机需考虑高可用方案。简单处理可以将其做成docker镜像,一旦发现该服务故障了,可以快速地在其它地方启动起来

(1)创建data目录,将WebVirtMgr移动到data目录,同时创建KVM存储目录

mkdir -pv /data/kvm

(2) 克隆项目

cd /data

下载git:yum install git

仓库管理。Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

git clone http://github.com/retspen/webvirtmgr.git

报错一:原因可能是git的http缓存不足以完成我们需要执行的任务

Cloning into 'webvirtmgr'...
error: RPC failed; result=7, HTTP code = 301
fatal: The remote end hung up unexpectedly

 解决:扩大值

git config --global http.postBuffer 1024288000

 报错二:

Cloning into 'webvirtmgr'...
fatal: unable to access 'http://github.com/retspen/webvirtmgr.git/': 
Failed connect to github.com:443; Connection refused

 解决:

git config --global http.proxy

(3) 初始化环境

./manage.py syncdb

错误:表示我们没有webvirtmgr需要的依赖包:

 解决一:

pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

pip命令:
install 安装包
download 下载包
uninstall卸载包
freeze以需求格式输出已安装的软件包
list 列出下载包
show显示有关已安装软件包的信息
search 搜索 PyPI 的包
Install Options:
-r, --requirement <file>   根据文件安装库,批量安装库
-c, --constraint <file>  给约束文件版本
-U,--upgrade将所有指定的软件到升级到最新可用版
Package Index Options:
-i, --index-url <url>指定镜像地址
--extra-index-url <url>除了--index-url之外还要使用的包索引的额外URL
General Options:
--trusted-host <hostname> 受信任的地址


解决二:

pip install django

pip install lockfile

(4) 配置Django 静态页面

./manage.py collectstatic

输入Yes即可

(5)继续添加管理员用户,可以执行下面的命令(可不做)

./manage.py createsuperuser

 

6.测试安装是否正常

[root@compute webvirtmgr]# ./manage.py runserver 0:8000
WARNING:root:No local_settings file found.
WARNING:root:No local_settings file found.
Validating models...

0 errors found
December 09, 2022 - 15:17:21
Django version 1.5.5, using settings 'webvirtmgr.settings'
Development server is running at http://0:8000/
Quit the server with CONTROL-C.


三、supervisor安装

supervisor是一个用python语言编写的进程管理工具,它可以很方便的监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisor监听到进程死后,可以很方便的让进程自动恢复,不再需要程序员或系统管理员自己编写代码来控制。

Supervisord 是用 Python 实现的一款的进程管理工具,supervisord 要求管理的程序是非 daemon 程序,supervisord 会帮你把它转成 daemon 程序,因此如果用 supervisord 来管理进程,进程需要以非daemon的方式启动。

1.supervisor下载

yum install supervisor

 错误一:

[root@compute etc]# yum install supervisor
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
No package supervisor available.
Error: Nothing to do

解决一:EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.

 yum install epel-release

2.WebVirtMgr默认使用supervisor进行管理(启动停止服务)

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

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

3.启动

systemctl start supervisord

systemctl enable supervisord

错误一:

解决一:

Libvirt-python就是基于libvirt API的python语言绑定工具包,通过该包可以实现对VM日常管理和监控数据的获取。

Websockify是一个WebSocket至TCP的代理/桥梁。实现让让浏览器可以连接至任何应用程序/服务器/服务。

ibxml2是个C语言的XML程式库,能简单方便的提供对XML文件的各种操作,并且支持XPATH查询,及部分的支持XSLT转换等功能。

yum install libvirt-python

yum install python-websockify

yum install libxml2-python

错误二:

解决二: 

lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则一样,也是用C语言实现的,是一款高性能的python HTML、XML解析器,也可以利用XPath语法,来定位特定的元素及节点信息。

yum install libxml2-dev libxslt-dev python-dev

pip install lxml

查看是否启动成功:

4.supervisor常用命令 

supervisorctl status\stop\start\restartsupervisor的状态\停止\开启\重启
supervisorctl status\stop\start\restart 监控ID监控ID的状态\停止\开启\重启

四、nginx安装

Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。其特点是占有内存少,并发能力强。

1.安装

 1.下载链接

 nginx: download

 2.解压

tar -zxvf nginx-1.12.2.tar.gz -c /data/nginx

 3.编译安装

1.配置

这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制

[root@controller nginx]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

prefix=path

定义服务器文件的完整路径,该路径同时也是configure命令设置的 相对路径(除类库源文件外)以及nginx.conf文件定义的相对路径的基准路径。其默认 值是/usr/local/nginx。

sbin-path=path

设置配置文件nginx.conf的完整路径。如有必要,总是可以 在nginx启动时通过命令行参数-cfile指定一个不同的配置文件路径。 默认路径为prefix/conf/nginx.conf。

conf-path=path

设置配置文件nginx.conf的完整路径。如有必要,总是可以 在nginx启动时通过命令行参数-cfile指定一个不同的配置文件路径。 默认路径为prefix/conf/nginx.conf。

pid-path=path

设置nginx.pid文件的完整路径,该文件存储了主进程的进程ID。安装完成后, 该路径总是可以在nginx.conf文件中用 pid指令来修改。 默认路径为prefix/logs/nginx

error-log-path=path

设置记录主要错误、警告以及调试信息日志的完整路径。安装完成后, 该路径总是可以在nginx.conf文件中用 error_log 指令来修改。 默认路径为prefix/logs/error.log。

http-log-path=path

设置记录HTTP服务器主要请求日志的完整路径。安装完成后, 该路径总是可以在nginx.conf文件用 access_log 指令来修改。 默认路径为prefix/logs/access.log

user=name

 设置工作进程以某非特权用户的身份运行。安装完成后,该用户名总是可以在 nginx.conf文件用user指令来修改。 其默认值为nobody。

group=name

 设置工作进程以某非特权用户的身份运行。安装完成后,该用户名总是可以在 nginx.conf用user指令来修改。 其默认名称与未授权用户名称相同。

without-select_module

设置是否将select()方法模块编译进nginx中。如果系统平台不支持kqueue、epoll、rtsig或/dev/poll等更合适的方法, 该模块会被自动编译。

without-poll_module

设置是否将poll()方法模块编译进nginx中。如果系统平台不支持kqueue、epoll、rtsig或/dev/poll等更合适的方法, 该模块会被自动编译。

without-http_gzip_module

不编译http_gzip_module模块。该模块可以压缩HTTP服务器的响应,该模块需要zlib库才能编译和运行。

 

without-http_rewrite_module

不编译http_rewrite_module模块。该模块允许HTTP服务器重定向请求,改变请求的URI地址 。创建并运行该模块需要PCRE库支持。

without-http_proxy_module

 不编译HTTP服务器的代理模块。

with-http_ssl_module

为HTTP服务器编译HTTPS协议支持的模块。该模块默认是不编译的。它需要OpenSSL库才能编译和运行。

with-pcre=path

设置PCRE库源文件的路径地址。PCRE库的发行版(version 4.4 — 8.30)需要先从PCRE站点下载并解压缩。 剩下的安装工作由nginx的./configure和make命令来完成。该库应用于location 指令的正则表达式支持以及ngx_http_rewrite_module模块。

with-pcre-ji

编译PCRE库时增加“实时编译(pcre_jit)”支持。

with-zlib=path

设置zlib库源文件的路径地址。zlib库的发行版(version 1.1.3 — 1.2.5)需要先从zlib站点下载并解压缩。 剩下的安装工作由nginx的./configure和make命令来完成。该库应用于 ngx_http_gzip_module模块。

with-cc-opt=parameters

设置将会添加额外参数到CFLAGS变量中。当在FreeBSD使用系统PCRE库时,需要指定 --with-cc-opt=“-I /usr/local/include”。 如果需要增加select()方法所支持的文件数量,也可以参照如下方式指定:

–with-cc-opt=“-D FD_SETSIZE=2048”。

with-ld-opt=parameters

 设置将会在链接(linking)过程中使用的额外参数。当在FreeBSD使用系统PCRE库时,需要指定 --with-ld-opt=“-L /usr/local/lib”。

 错误一:

checking for OS
 + Linux 3.10.0-1160.80.1.el7.x86_64 x86_64
checking for C compiler ... not found

./configure: error: C compiler cc is not found

解决一:gcc:一个工具集合,包含预处理器,编辑器,汇编器,链接器等组件

yum install gcc 

错误二:

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

解决二:

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。
nginx 的 http 模块使用 pcre 来解析正则表达式,pcre-devel 是使用 pcre 开发的一个二次开发库。

yum instal pcre-devel

错误三:

./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

解决三:openssl是一个安全套接字层密码库,nginx要支持https,需要使用openss

yum install openssl openssl-devel

2. 编译

make,这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。

make

 3. 安装

make insatll,这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

make install

错误四:

make[1]: *** [install] Error 1
make[1]: Leaving directory `/opt/mode/nginx'
make: *** [install] Error 2

 解决四:

#文件的解压目录和编译目录不能是同一文件夹

4. 修改配置文件

vim /usr/lcal/nginx/conf/nginx.conf

 5.添加用户

useradd -M -s /sbin/nologin nginx

6.命令

(1)启动

方式一:

1.直接启动
/usr/local/nginx/sbin/nginx
2.指定配置文件
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

方式二:

cat > /lib/systemd/system/nginx.service << EOF
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/sbin/nginx
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
[Unit]服务说明
Description描述服务
After描述服务类型
[Service]服务运行参数设置
Type后台运行的形式
PIDFilePID文件位置,记录进程号
ExecStart启动服务脚本
ExecReload根据PID(nginx进程号)重载配置
ExecStop根据PID(nginx进程号)终止进程
PrivateTmp表示给服务分配独立的临时空间

(2)检查nginx配置文件

1.直接命令
/usr/local/nginx/sbin/nginx -t
2.指定配置文件
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

(3)重启

/usr/local/nginx/sbin/nginx -s reload

(4)关闭nginx

1.快速停止
/usr/local/nginx/sbin/nginx -s stop
2.完整有序或停止nginx,这个命令会等待所有请求结束后在关闭nginx
/usr/local/nginx/sbin/nginx -s quit
1.从容停止
kill -QUIT 主进程号
2.快速停止
kill -TERM 住进程号
3.强制停止
kill -9 nginx
4.正常停止
kill -15 nginx

(5)reopen重新打开日志文件

/usr/local/nginx/sbin/nginx -s reopen
kill -HUD 主进程号
kill -1 主进程号

6.http://IP地址/login/


四、安装KVM 

1.安装KVM的依赖

qemu-kvmKVM的程序包
qemu-kvm-toolskVM调试工具,可不安装
qemu-imgqemu组件,创建磁盘、 启动虚拟机等
virt-managerGUI虚拟机管理工具(图形界面管理虚拟机)
libvirtC语言工具包,虚拟机管理工具
libvirt-client为虚拟客户提供C语言工具包
virt-install基于libvirt服务的虚拟机创建命令
virt-viewerGUI连接程序,连接到已配置好的虚拟机
bridge-utils创建和管理桥接设备的工具(网络支持工具)
libguestfs-tools虚拟机磁盘管理工具

2.软连接(不做虚拟机可能创建失败)

ln -s /usr/libexec/qemu-kvm /usr/local/bin

 3.利用SSH经行连接

 4.创建虚拟机

 


五.vncserver远程图形界面

1.下载

yum install -y tigervnc tigervnc-server

2 .操作步骤:

(1)基于模板复制文件到目标路径下:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

注意:复制vnc的启动操作脚本, vncserver@:1.service中的":1"表示"桌面号",启动的端口号就是5900+桌面号,即是5901,以此类推5900+n

(2) vim /etc/systemd/system/vncserver@:1.servic

修改前

修改后:

3.重新加载systemd配置

systemctl daemon-reload

4.启用服务,将vncserver服务设置为开机自启动

为VNC设密码:

vncpasswd

Would you like to enter a view-only password (y/n)? n

"是"否输入一个只能查看的密码,"否",否则连接vnc会出现黑屏

1.启动

systemctl start vncserver@:1.service

2.开机启动

systemctl enable vncserver@:1.service

5.查看状态 

systemctl status vncserver@:1.service 

6.图形界面的安装方式:

我的VMware正好有 CentOS 6.10、CentOS 7、Ubuntu18.04.4 三个虚拟机,他们默认的GUI都是Gnome

 group 软件包中,Desktop、Desktop Platform、KDE Desktop、X Window System 是主要的桌面环境。

1.检查是否安装桌面:

systemctl get-default

2.查看支持的软件包:

yum grouplist

3.安装GNOME桌面:

yum -y groupinstall 'GNOME Desktop' 'Graphical Administration Tools'

reboot

4.设置默认通过桌面环境启动服务器:

设置成命令模式:systemctl set-default multi-user.target

 设置成图形模式:systemctl set-default graphical.target

7.图形界面

目录

Download VNC Viewer | VNC® Connect

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值