配置WordPress上传图片/附件文件同步到UPYUN又拍云存储

这几天笔者一直在折腾UPYUN又拍云存储相关的问题且整理到不少的基础文章,昨天已经创建且绑定域名,并且又拍云还支持一键快速配置SSL证书。对于一般的站长而言,我们希望网站速度打开快一些,这样用户体验会比较好,如果在本身的服务器资源比较固定限制的时候,我们就要寻求细微的改善,比如将静态资源与网站分离,一般会使用到第三方云存储+CDN加速。

因为考虑到UPYUN又拍云免费空间支持HTTPS流量,所以暂时就准备将占用资源较大的图片资源单独存放到又拍云存储中,这样就减低页面的加载资源提高速度。我们可以实现的方法有很多种,比如可以手工将图片传到云存储空间中,然后编辑文章的时候调用图片,或者采用W3 Total Cache缓存插件结合FTP同步上传图片。

在这篇文章中,我准备使用hacklog remote attachment upyun插件,实现WordPress附件图片文件上传到又拍云存储中,然后直接从又拍云存储调用图片,一来可以降低服务器的存储空间,二来可以提高网站打开速度,毕竟这类第三方存储空间具备CDN加速,应该是比自己服务器速度快。

未分类

第一、 WordPress同步又拍云插件

插件地址:https://github.com/ihacklog/hacklog-remote-attachment-upyun

目前这款插件并没有在WordPress官方平台中,以前有一款老版本在的,这款比较新的插件提交在GITHUN上,我们下载后安装到当前WordPress网站中。

第二、 配置同步又拍云插件准备工作

1、如果我们直接看到这篇文章的,那需要创建一个又拍云存储空间,如果我们域名有BA过的,可以设定绑定自己的域名,这样觉得更加专业一点点,也可以选择启动SSL证书,具体可以参考这篇文章。

2、开启表单API

未分类

因为我们上传的图片、附件文件会直接上传到又拍云存储中,所以需要开启API,这样不经过本地服务器,直接传到又拍云存储空间中。

3、开启防盗链

未分类

如果我们附件文件较大,或者希望启动防盗链,可以直接开启Token 防盗链,设置一个密钥,记下来,等会设置需要,如果不希望启动那就不管了。

第三、 又拍云同步WordPress插件设置

1、管理员、表单API设置

未分类

根据我们创建的云存储空间设置空间名称、操作员用户名和密码。以及我们开启的API密钥,其他参数默认。如果防盗链设置密钥后,就填写,没设置启动就留空。

2、设置URL和路径

未分类

上面几行的参数都默认即可,主要是最后这三行,远程URL是我们自定义的域名,以及在服务器和存储空间保存文件的路径。

第四、 WordPress站点文件的路径定向

因为我们即将图片和附件都采用又拍云存储空间上的,如果我们是新网站那就不用管,但是已经本地有存储图片的,我们需要全部转移拷贝一份到远程空间中。这里我们直接用FTP链接到又拍云,然后对应路径传上去。

未分类

理论上我们需要将全站本地地址的目录替换成又拍云的绑定空间的地址,但是这个插件提供一键转移,点击后直接就替换掉了。刷新页面,我们可以看到当前的全部使用的又拍云空间存储地址文件。

第五、 小结

1、这个hacklog remote attachment upyun插件能够和又拍云完美结合,将WordPress附件文件传到存储中,使得静态文件完全调用又拍云存储的,提高网站速度降低资源占用。

2、唯一不足的是上传文件完全到又拍云存储中,本地没有同步一份,如果能给用户选择本地也保存一份这样对于数据的安全会更好一些。这样完全是在又拍云,如果,我们定期也需要将又拍云存储文件备份到本地,确保数据的安全。

解决WordPress的Fatal Error: Out of Memory

WordPress 偶尔出现 502 Bad Gateway 错误,通过查看日志,发现是 Fatal Error: Out of Memory 错误,也就是内存不足导致的,最好的解决方法就是直接升级服务器配置啦,如果你是VPS 或者 是共享主机,可以尝试下面的方法来解决:

方法一:You can even consider adding a line in .htaccess file which will resolve the issue.

php_value memory_limit 256M

就是在 .htaccess 文件中加上红色的那行字

方法二:Add this to your wp-config.php file:

define (‘WP_MEMORY_LIMIT’, ‘256M’ );

在你的 wp-config.php 文件中加上红色的那行字

方法三:wp-settings.php,编辑这个文件,修改define(‘WP_MEMORY_LIMIT’, ’32M’);为

define(‘WP_MEMORY_LIMIT’, ‘256M’);

方法四:在你的博客目录中添加一个 php.ini 文件,并且写入下面那行

memory_limit=256M

方法五:其实是方法四升级版:在你的博客目录中添加一个 php.ini 文件,并且写入下面的内容

register_globals=Off
safe_mode=off
magic_quotes_gpc=On
allow_url_include=Off
file_uploads=on
memory_limit=256M
max_executi alt=90
post_max_size=10M
upload_max_filesize=10M
max_input_time=300

如果以上加大内存的方法,还是不能够解决 Fatal Error: Out of Memory ,那你的WordPress可能某个插件 或 个功能,真的很耗内存,可以尝试用「WordPress插件:P3,找出拖慢网站的插件」排查。

CentOS LNMP WordPress自动更新需填写FTP解决方法

无论是使用阿里云还是其他云 VPS 下的 Linux + LNMP 一键安装包环境,安装 WordPress 后,遇上提示更新升级的时候,都会出现需要填写 FTP 相关信息的情况,相当不方便。不过,根据 LNMP 作者军哥的博客提示,只需要在服务器内做一些文件权限的修改变可以。

这个问题的产生,主要是网站目录的权限执行身份非文件属主身份。

解决方法如下:

假设你的 WordPress 安装目录为 /home/wwwroot/lnmp.org

用 Putty 登录 Linux VPS ,执行:chown -R www /home/wwwroot/lnmp.org

执行上面的命令就可以将 /home/wwwroot/lnmp.org 下所有文件的属主改为 www ,这样就可以解决自动更新必须填FTP的问题。

基本上按以上方法就可以解决问题,如果还不能正常成功更新,可以尝试修改 wp-config.php 文件

在 wp-config.php 中加入一行代码

define('FS_METHOD', "direct");

如此就能可以在后台点击更新升级。

使用docker-compose来部署WordPress

很早的时候想维护一个个人Blog,一开始通过 github home page + jekyll,奈何没精力再去把ruby玩溜,自己也不是个擅长改写前端页面的人,无疾而终。今天终于鼓起勇气,买了服务器和域名,部署了wordpress,毕竟wordpress易用易上手,模板也多,也就懒得自己改了。既然本Blog是运行在Docker之上的,那第一篇文章也就来说说这个吧。

部署方式介绍

  • 我的服务器安装的是Arch Linux,自己也是比较喜欢这个极简的Linux发行版。
  • 我使用了docker-compose来做镜像编排工具,nginx,mysql(mairadb),wordpress分别运行于不同的容器。
  • 托上面两个先决条件的福,下面的内容大家根据自己的实际环境,酌情选择。

准备工作

安装Docker

托Arch Linux的福,安装Docker非常简单。

pacman -S docker

安装docker-compose

同样是托Arch的福,安装依旧简单粗暴。

pacman -S docker-compose

准备配置

首先我们需要做的是准备好docker wordpress运行的用户,执行以下命令,添加一个叫wordpress的新用户,将它添加到docker用户组,并为它设置密码

useradd -m -s /bin/zsh wordpress
usermod -a -G docker wordpress
passwd wordpress

紧接着,创建一些目录,保存docker-compose配置文件,存储运行产生的文件,让数据库落地到本机而不是容器,执行以下命令

su - wordpress
cd
mkdir wordpress-compose
touch docker-compose.yml
mkdir -p wordpress-compose/db-data
mkdir -p wordpress-compose/logs/nginx
mkdir -p wordpress-compose/nginx
mkdir -p wordpress-compose/wordpress

这些目录和文件的功能分别如下:

目录或文件 含义

  • wordpress-compose 容器相关根目录
  • wordpress-compose/db-data 数据库数据存储目录
  • wordpress-compose/logs/nginx nginx存储目录
  • wordpress-compose/nginx nginx配置文件
  • wordpress-compose/wordpress wordpress本体,因为安装插件等会改变php文件

接下来我们编写必要的nginx配置文件。在wordpress-compose/nginx下新建wordpress.conf文件,文件中写入下面这些配置,一个很经典的php-fpm的nginx配置文件。

server {
    listen 80;
    server_name www.gsgtzq.com;

    root /var/www/html;
    index index.php;

    access_log /var/log/nginx/wordpress-access.log;
    error_log /var/log/nginx/wordpress-error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass wordpress:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

接下来就是docker-compose配置文件的编写了,首先将工作目录切换至刚刚创建的wordpress-compose目录,用自己熟悉的编辑器打开docker-compose.yml文件。

vim docker-compose.yml

先是nginx部分,我使用最新的nginx镜像,暴露80端口给本机,挂载conf.d、log、/var/www/html目录到本机,连接nginx和wordpress容器。

nginx:
        image: nginx:latest
        ports:
                - '80:80'
        volumes:
                - ./nginx:/etc/nginx/conf.d
                - ./logs/nginx:/var/log/nginx
                - ./wordpress:/var/www/html
        links:
                - wordpress
        restart: always

然后是mysql部分,我使用了mairadb的最新镜像,挂载mysql数据存储点到本机,链接mysql和wordpress容器,通过环境变量设置mysql的默认root密码。

mysql:
        image: mariadb:latest
        volumes:
                - ./db-data:/var/lib/mysql
        environment:
                - MYSQL_ROOT_PASSWORD=123345
        restart: always

最后是wordpress本体,我使用wordpress:php7.1-fpm的镜像,挂载/var/www/html目录到本机,链接连接mysql容器和wordpress,并且使用环境变量,指定mysql主机名,表前缀,和库名。

wordpress:
        image: wordpress:php7.1-fpm
        volumes:
                - ./wordpress:/var/www/html
        environment:
                - WORDPRESS_DB_NAME=wpdb
                - WORDPRESS_TABLE_PREFIX=wp_
                - WORDPRESS_DB_HOST=mysql
        links:
                - mysql
        restart: always

到此位置,docker-compose的配置文件全部编写完毕。

启动容器

编排文件已写完,接下来启动容器即可。

docker-compose up -d

当收到三个done以后,编排好的容器就正式启动了,我们现在可以访问本机的IP或域名来访问wordpress了。
我还可以使用下面这些命令来检查容器的运行情况,注意,docker-compose命令只有在刚才写好配置文件的目录下执行才有效果。

命令 含义

  • docker ps -a 查看当前所有运行的docker容器
  • docker-compose logs wordpress 查看wordpress容器的日志
  • docker-compose ps 查看当前编排好的应用的所有容器状态
  • docker-compose top 查看当前编排好的应用中各容器中的进程情况

具体还有一些其他的办法,可以通过查阅docker手册和docker-compose文档来进行使用。

结束语

到此为止,使用docker来运行wordpress已经完成,从开始折腾Docker到现在少说1个半月过去了,也是学习到了非常多的东西,目前而言公司的项目想用起docker来还是有不少难度,我思考了很多使用docker对传统部署和开发带来冲击的问题,例如对开发人员的要求其实高了很多,尤其是在运维这块,基础环境部署等等……但很希望自己能把它用好了,开发受益,运维也受益。

WordPress迁移网站目录时如何修改数据库信息

当我们搭建好网站后,如果需要给网站更换主机空间和迁移网站目录,也就是站长常说的“网站搬家”,对于新手站长来说可能会比较复杂,最近很多用户咨询:主机上的网站目录如何迁移,下面为大家详细介绍Wordpress迁移网站目录数据库信息的修改方法!

1、登陆数据库修改下配置然后移动到站点根目录

未分类

WordPress迁移网站目录数据库信息的修改方法

2、修改两个字段siteurlhome

未分类

修改两个字段siteurlhome

3、点击执行操作即可

未分类

点击执行操作

Ubuntu 16.04使用Docker部署WordPress

未分类

介绍

WordPress是基于PHP和MySQL的著名内容管理系统,根据GNU GPLv2(或更高版本)的规定分发。通常它安装在像Apache这样的Web服务器上,但也可以在使用Docker容器构建的隔离环境中运行它,特别是使用Docker Compose。本教程的主题时使用Ubuntu 16.04作为操作系统。

入门

首先,有必要安装Docker和Docker Compose。 在Ubuntu 16.04中,这可以通过两种不同的方式完成:

  • 设置存储库并从中安装,方便安装和升级任务
  • 下载DEB包并手动安装; 还允许您完全手动管理升级

在本教程中,Docker将使用存储库方法进行安装。 因此,您需要安装软件包以允许apt通过HTTPS使用存储库:

# apt install -y --no-install-recommends apt-transport-https ca-certificates curl software-properties-common

接下来,添加Docker的官方GPG密钥:

$ curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add -

密钥ID应为58118E89F3A912897C070ADBF76221572C52609D,因此验证:

$ apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D

使用以下命令设置稳定存储库:

# add-apt-repository 
       "deb https://apt.dockerproject.org/repo/ 
       ubuntu-$(lsb_release -cs) 
       main"

现在可以安装Docker了。

首先,更新apt包索引:

# apt update

然后:

# apt install docker-engine
This will install docker and its daemon should start automatically.

安装 Docker Compose

安装Docker后,下一步是安装Compose,这是此过程所必需的。 只需执行命令:

# curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

更改docker-compose binary的权限:

# chmod +x /usr/local/bin/docker-compose

测试:

$ docker-compose --version

现在Docker和Docker Compose已安装并可以使用。

安装 MariaDB

创建一个空目录,例如docker_wordpress。
然后改成:

$ cd docker_wordpress

创建一个docker-compose.yml文件,该文件将启动您的WordPress博客和一个单独的MySQL实例与卷挂载数据持久性。
在此文件中,输入以下文本:

version: '2'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: wordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

接下来,在docker_wordpress文件夹中,使用以下命令启动容器:

# docker-compose up -d

这很简单,因为Docker团队确保一切都配置良好。 事实上,WordPress Docker容器中有一个脚本,它从wordpress容器中读取MYSQL_ROOT_PASSWORD变量,并使用它来连接到WordPress。

安装 PHPMyAdmin

添加PHPMyAdmin与添加数据库没有什么不同。在docker-compose.yml文件中,只需在“services”部分添加以下行:

phpmyadmin:
image: corbinu/docker-phpmyadmin
  links:
    - wordpress_db:mysql
  ports:
    - 8181:80
  environment:
    MYSQL_USERNAME: root
    MYSQL_ROOT_PASSWORD: wordpress

保存这些配置并运行docker-compose命令来创建和启动容器:

# docker-compose up -d

配置几乎完成! 使用Web浏览器,转到URL:http://SERVER_IP:8181。 它将显示PhpMyAdmin的登录屏幕。 使用在docker-compose.yml文件中配置的相同凭据进行登录。

总结

就这样!现在服务器正在运行WordPress安全和隔离的容器。虽然Docker是“开发人员工具”,但它可以用于各种项目,就像这里所示。 当然,配置文件可以通过更细致的细节进行编辑和定制,例如DNS部分和一些硬件限制,如CPU和内存使用。 祝你玩得开心!

wordpress启用memcached加速访问

Memcached 是什么?

Memcached 是一种高性能的分布式内存对象缓存系统。在动态应用,Memcached 既能提高访问的速度,同时还减低了数据库的负载。

Danga Interactive 为提升 LiveJournal.com 的速度研发了 Memcached。目前,LiveJournal.com 每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。Memcached 几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及 Memcache 失效时对数据库的访问速度。

WordPress 和 Memcached

由于 WordPress 默认支持 Object Cache,所以在 WordPress 实现 Memcached 就是使用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次直接从内存中读取。相比直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速度优势。

WordPress 如何启用 Memcached 缓存

  1. 需要你的服务器支持,就是你的 PHP 需要安装上 Memcached 相关的扩展,注意 PHP 有两个扩展:PHP Memcache 扩展 和 PHP Memcached 扩展,两者仅仅相差一个字母 D,你可以通过 phpinfo() 这个 PHP 函数来检测,你安装的是哪个扩展。
  2. 下载object-cache.php ,点击这里下载
  3. 把下载的:object-cache.php 复制到 wordpress的wp-content目录,这里值得注意不是 wp-content/plugins/

WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。查询数据次数明显减少

开启了之前 0.201 秒内总共 30次查询

开启之后 0.205 秒内总共 9 次查询

Fail2ban防止WordPress受到xmlrpc.php CC攻击

WordPress本身是一个非常强大的CMS(内容管理系统),功能强大。但是也正是因为其强大的特性,使其很容易被利用,造成服务器的不稳定甚至崩溃。最容易遭受攻击的就是xmlrpc.php这个文件,攻击者只要每秒发送1个post请求到此文件,不出1分钟,一台512M内存Debian7系统的VPS就会崩溃,php进程和Mysql占用内存过高而导致无法访问。在尝试了网上流传的多个防攻击手段之后,fail2ban是效果最好的一个,下面就简单记录一下过程,供大家参考。

分析日志

在服务器出现异常的时候,首先去分析Nginx日志, /var/log/nginx/access.log ,从代码中可以发现如下可以IP不断发送Post请求到xmlrpc.php,每个IP的发送频率大概在2秒钟一次,严格来说频率并不高但足以让php和mysql进程崩溃。

185.188.204.16 - - [15/Jul/2017:23:51:07 -0400] "POST /xmlrpc.php HTTP/1.0" 502 574 "-" "*****"
185.188.204.6 - - [15/Jul/2017:23:51:08 -0400] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "*****"
185.188.204.8 - - [15/Jul/2017:23:51:08 -0400] "POST /xmlrpc.php HTTP/1.0" 502 574 "-" "*****"
185.188.204.14 - - [15/Jul/2017:23:51:08 -0400] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "*****"
185.188.204.16 - - [15/Jul/2017:23:51:08 -0400] "POST /xmlrpc.php HTTP/1.0" 502 574 "-" "*****"
185.188.204.7 - - [15/Jul/2017:23:51:08 -0400] "POST /xmlrpc.php HTTP/1.0" 502 574 "-" "*****"
185.188.204.12 - - [15/Jul/2017:23:51:09 -0400] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "*****"
185.188.204.11 - - [15/Jul/2017:23:51:09 -0400] "POST /xmlrpc.php HTTP/1.0" 502 574 "-" "*****"
185.188.204.15 - - [15/Jul/2017:23:51:09 -0400] "POST /xmlrpc.php HTTP/1.0" 502 574 "-" "*****"
185.188.204.11 - - [15/Jul/2017:23:51:09 -0400] "POST /xmlrpc.php HTTP/1.0" 502 574 "-" "*****"

安装fail2ban和iptables

安装fail2ban和iptables,这样能使用ipotables对攻击进行防御,想对于其它js和php的防御方式自动化更高,更为高效。

apt-get install fail2ban iptables

设置fail2ban jail.local

使用jail.local设定

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vi /etc/fail2ban/jail.local
[xmlrpc]
enabled = true
filter = xmlrpc
action = iptables[name=xmlrpc, port=http, protocol=tcp]
logpath = /var/log/nginx/access.log
bantime = 43600
maxretry = 2

设置fail2ban 自定义filter

vi /etc/fail2ban/filter.d/xmlrpc.conf
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc.php.*
ignoreregex =

设置fail2ban jail.local

设置好之后重启fail2ban服务既可生效

service fail2ban restart

查看fail2ban日志查看防御情况

tail -f /var/log/fail2ban.log
2017-07-15 23:51:38,265 fail2ban.jail   : INFO   Creating new jail 'ssh'
2017-07-15 23:51:38,266 fail2ban.jail   : INFO   Jail 'ssh' uses Gamin
2017-07-15 23:51:38,287 fail2ban.filter : INFO   Set maxRetry = 6
2017-07-15 23:51:38,288 fail2ban.filter : INFO   Set findtime = 600
2017-07-15 23:51:38,288 fail2ban.actions: INFO   Set banTime = 600
2017-07-15 23:51:38,320 fail2ban.jail   : INFO   Creating new jail 'xmlrpc'
2017-07-15 23:51:38,320 fail2ban.jail   : INFO   Jail 'xmlrpc' uses Gamin
2017-07-15 23:51:38,321 fail2ban.filter : INFO   Added logfile = /var/log/nginx/access.log
2017-07-15 23:51:38,322 fail2ban.filter : INFO   Set maxRetry = 2
2017-07-15 23:51:38,323 fail2ban.filter : INFO   Set findtime = 600
2017-07-15 23:51:38,323 fail2ban.actions: INFO   Set banTime = 43600
2017-07-15 23:51:38,328 fail2ban.jail   : INFO   Jail 'ssh' started
2017-07-15 23:51:38,329 fail2ban.jail   : INFO   Jail 'xmlrpc' started
# 以上日志显示自定义的xmlrpc filter已经生效
2017-07-15 23:51:45,350 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.8
2017-07-15 23:51:45,361 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.9
2017-07-15 23:51:45,368 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.6
2017-07-15 23:51:45,376 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.7
2017-07-15 23:51:45,382 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.16
2017-07-15 23:51:45,387 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.14
2017-07-15 23:51:45,392 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.15
2017-07-15 23:51:45,400 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.12
2017-07-15 23:51:45,415 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.10
2017-07-15 23:51:45,426 fail2ban.actions: WARNING [xmlrpc] Ban 185.188.204.11
# 以上日志则显示成功防御对xmlrpc进行攻击的IP等情况

参考链接:https://rbgeek.wordpress.com/2014/09/11/block-wordpress-xmlprc-php-ddos-attacks-using-fail2ban/

WordPress插件:https://wordpress.org/plugins/wp-fail2ban/

Related posts:

  1. WordPress 启用HTTPS设置
  2. Wp Super Cache + Nginx规则
  3. Akismet:强大的反垃圾评论插件
  4. 浅谈博客的友情链接与链接
  5. WordPress移除静态资源版本号

Virtualbox CentOS虚拟机系统网络配置

  • 记下虚拟网卡IP

虚拟化技术

  • 配置网卡1、网卡2

网卡1 —对应—eth0—-NAT(网络地址转换)用来与外网通信

网卡2 —对应—eth1—-Host-only用来与主机通信

虚拟化技术

虚拟化技术

  • 启动虚拟机

  • 配置eth0、eth1文件

cd /etc/sysconfig/network-scripts //进入配置目录

虚拟化技术

  • 配置eth0—对应—网卡1
vi ifcfg-eth0

虚拟化技术

  • 配置eth1—对应—网卡2
cp ifcfg-eth0 ifcfg-eth1        //如果ifcfg-eth1不存在,从ifcfg-eth0拷贝

vi ifcfg-eth1

虚拟化技术

  • 重启网络服务
servic network restart

虚拟化技术

  • 查看ip
ifconfig

虚拟化技术

  • 测试虚拟机网络
ping www.baidu.com

虚拟化技术

  • 测试主机–》虚拟机

虚拟化技术

VirtualBox安装CentOS虚拟机教程

使用的软件:

  • VirtualBox 4.1.2
  • CentOS 5.6 x86_64 刻录的光盘
  • VirtualBox是开源的虚拟机软件,免费而且占用资源小,功能强大。先将VirtualBox安装上,这个和平常安装软件一样,就不详述了。

第一部分:安装前的准备工作

步骤1:点击“新建”按钮,创建一个新虚拟机。

虚拟化技术

步骤2:给虚拟机命名,选择操作系统及版本。

虚拟化技术

步骤3:选择内存大小,我这里设置的是512M

虚拟化技术

步骤4:选择创建新虚拟机。

虚拟化技术

步骤5:选择虚拟硬盘的类型。

虚拟化技术

步骤6:选择动态分配磁盘容量。

虚拟化技术

步骤7:选择文件存储的位置及容量大小。

虚拟化技术

步骤8:点击create即可。

虚拟化技术

步骤9:选择安装系统文件的位置

虚拟化技术

步骤10:选择安装介质,可以选择从光盘启动,也可以使用iso文件作为安装文件。

虚拟化技术

步骤11:设置网络,默认是NAT的网络连接方式,修改成桥接(Bridged Adapter)方式。

虚拟化技术

第二部分:开始正式安装系统

步骤1:选择刚创建的虚拟机,然后点击“开始”按钮。

虚拟化技术

步骤2:启动机器安装系统

虚拟化技术

步骤3:跳过媒体检查

虚拟化技术

步骤4:引导安装,点击next

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

虚拟化技术

步骤5:重新引导系统

虚拟化技术

步骤6:引导重启系统完成,输入用户名密码进入linux系统

虚拟化技术