跨平台Linux虚拟服务器配置心得

跨平台Linux虚拟服务器配置心得

—个人虚拟主机搭建心得

本文主要介绍了ArchLinux下提供服务的一些配置心得.

0.为什么会出现这样一个组合?

之前在学校的时候曾经为了搪塞老师而写过一篇实习报告,主题是Linux实用服务提供,也就是用一台Linux机器提供http,ftp等服务,当时为了赶工.所以选了个这样乱七八糟的题目[主要是专业对不上号,但是万幸老师收下实习报告了].

VBox+vboxnetflt+Arch+Lighttpd+Nginx+MySQL+PHP+SShD+Samba+Rsyncd

这个组合其实当初我也没怎么想过,不过现在配置出来之后就发现相当舒适.主要是很适合我,也许也适合别人.之前都是用本机做服务来调试网页和其他服务,但是感觉不舒服的是自己如果没有用上某些服务的话白白开着还是有些不舒坦.后来就萌发了用VBox的想法,最初的话是用的NAT模式,通过10.0.2.2跟10.0.2.15这两个地址以及端口映射来实现主机虚拟机的访问,这样的不足就是映射端口的话就会浪费端口,后来换成了网桥模式一切都和谐了[不知道拨号的童鞋怎么想].而且虚拟机可以做暂停休眠操作,这样就节约了系统资源,特别是我这种老爷机.直接用命令就可以控制虚拟机状态,很是方便.

VirtualBox虚拟机提供虚拟硬件支持,vboxnetflt提供网桥服务,ArchLinux是我用得最久的Linux平台,Lighttpd也是很多人推荐用的,那么Nginx就是为了高并发而存在,MySQL来提供多数的数据库服务,SShD提供了安全的终端服务和sftp,Samba是为了提高对win的亲和力存在,Rsyncd是用来文件同步的主要服务.没有ftp?恩.是的,Samba和Rsyncd分别为各个平台提供了极好的文件同步.ftp当然就是鸡肋了.

1.VirtualBox的安装

ArchLinux下官方源里的是ose版本,推荐用AUR里的bin版本.安装之后使用命令modprobe启用vboxdrv和vboxnetflt这两个模块.虚拟机的内核模块和虚拟机网桥模块.最好是把这两个模块添加到rc.conf里.

配置的时候,需要把网卡设置为桥接模式,并选择要桥接的网卡.

还要设置的就是开启VRDP支持,设置认证模式为NULL.

这样基本上就完成了本文要用到的配置.


2.ArchLinux的安装

这个直接用光盘镜像安装到虚拟机上就可以,然后配置好源[也可以用默认源],就可以安装之后的软件了.

通过类似这样的命令来启动虚拟机

VBoxHeadless -startvm “ArchStation”

通过类似这样的命令来控制虚拟机,分别是暂停,继续,重启,关机,休眠

VBoxManage controlvm “ArchStation” pause

VBoxManage controlvm “ArchStation” resume

VBoxManage controlvm “ArchStation” reset

VBoxManage controlvm “ArchStation” poweroff

VBoxManage controlvm “ArchStation” savestate

3.SShD的安装

openssh的配置默认就能工作,但还是要修改一下sftp的路径,这样方便偶尔遇到的问题.

安装openssh并编辑配置:

pacman -S openssh

vim /etc/ssh/sshd_config

找到这一行,改掉路径

Subsystem       sftp    /home/data/sftp

之后,我们的操作就可以不用在rdesktop里操作,直接使用终端程序登录到主机进行操作

ssh root@192.168.1.103

4.PHP的安装

这一步直接安装好,然后遇到需要加载某些模块的时候就编辑配置文件来解开所要加载模块的注释

pacman -S php

vim /etc/php/php.ini

找到extension设置部分,然后解开mysql这些必备的模块

5.LighttpD的安装

安装lighttpd的时候需要配置php的解析程序,也就是fastcgi.然后修改lighttpd的配置,使之通过fastcgi来解析php程序.

pacman -S php php-cgi fcgi

vim /etc/lighttpd/lighttpd.conf

配置网页根目录

server.document-root        = “/home/http/”

解开server.modules设置部分”mod_fastcgi”的注释,找到#### fastcgi module部分,解开这一段的注释

fastcgi.server             = ( “.php” =>
( “localhost” =>
(
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/bin/php-cgi”
)
)
)

fastcgi.server             = ( “.php” =>

( “localhost” =>

(

“socket” => “/tmp/php-fastcgi.socket”,

“bin-path” => “/usr/bin/php-cgi”

)

)

)

TIPS:设置目录映射可以通过类似下面的方式来设置

alias.url = ( “/repo/” => “/media/sda6/repo/” , “/axr/” => “/home/axr/” )

6.MySQL的安装

安装MySQL后,要修改一下默认的数据库目录,还需要设置mysql的root密码,否则没有密码会出现很纠结的问题,虽然大部分时间很舒坦.

pacman -S mysql

vim /etc/my.cnf

修改[mysqld]段里的datadir项

datadir         = /home/home/mysql

登录数据库,然后修改root的密码

mysql -uroot

UPDATE user SET password=PASSWORD(“密码”) WHERE User=’root’;

7.Nginx的安装

安装Nginx并配置Nginx为缓存服务器,并且修改Lighttpd端口

pacman -S nginx

vim /etc/nginx/conf/nginx.conf

修改server段下listen的端口,location下的root为网页根目录,index后加上index.php

遇到点问题了,解决中…

把lighttpd的端口改到8080

## bind to port (default: 80)
server.port                = 8080

8.Samba的安装

安装samba后,设置好同步的目录就能工作了

pacman -S samba

vim /etc/samba/smb.conf

设置机器名跟工作组后,加入新的段就可以了

[web]

path = /home/data/

guest ok = yes

writable = yes

9.RsyncD的安装

同samba一样设置好同步的目录就可以了

pacman -S rsync

vim /etc/rsyncd.conf

跟samba神似阿

[ftp]

path = /home/ftp

comment = ftp area

10.设置服务为daemon模式

编辑rc.conf这个灵魂文件,把上面这些服务都加到daemon段里,这样重启后就大功告成了.

11.后记

偶尔用到那win7的话,也可以直接有平台做事,真是很方便阿.

This entry was posted in 还是会寂寞. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback: Trackback URL.

9 Responses to 跨平台Linux虚拟服务器配置心得

  1. Vote -1 Vote +1young001 CHINA Mozilla Firefox Windows
    說道:

    跨平台的好处啊,一次搞定

  2. Vote -1 Vote +1A.shun CHINA Opera Windows
    說道:

    Linux作为服务器还真是强大呢

    • Vote -1 Vote +1xifs CHINA Google Chrome Linux
      說道:

      那是当然。。不过这种思路也可以用在win的虚拟机上。但是毕竟性能不如linux

  3. Vote -1 Vote +1ABitNo CHINA Mozilla Linux
    說道:

    我主要是想说这个链接http://blog.imxifs.cn/wp-admin/post.php?action=edit&post=671

    为什么要放这个链接???

  4. Vote -1 Vote +1wayne JAPAN Netscape Navigator Mac OS
    說道:

    我还是很想问,有必要弄两个http server么。。。

    • Vote -1 Vote +1xifs CHINA Google Chrome Linux
      說道:

      呃..我发现问题了..貌似不需要..
      我有点理解错误了..
      同一台机器上哪里来的负载均衡..

Leave a Reply

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

Chat Plugin created by Jake Ruston's Wordpress Plugins - Powered by Hardshell Laptop Cases and Ben 10 Games.