猫窝私语 — Makumo's Blog

玛酷猫的温馨小窝,记录生活点点滴滴。

@玛酷猫7 年前

06/24
22:45
Ruby Linux

用Vagrant和VirtualBox搭建Windows下的Ruby on Rails 开发环境

PS:做个系列,记录下各个知识点,方便以后回顾查询,就叫Ruby:从入门到放弃好了(大雾)。

虽然都推荐在类Unix环境上面做Ruby的开发,更贴近于真实服务器的环境,同时也不会遇到各种Windows上奇葩的坑,不过考虑类Unix也同样存在学习成本,并不是主要学习方向,同时也需要在Windows下跑其他一些应用,比如游戏什么的,经过搜索娘的指引,选取这种折中的方法,在Windows平台下使用虚拟机跑类Unix系统。

首先还是安装对应的一系列软件了:

差不多就这么多吧,乱七八糟都装好后就开始配置了。
在工作目录新建一个文件夹,比如Ruby_project,win+x进入命令提示符,使用cd命令进入刚刚建立的文件夹,然后用下面命令配置

#添加box到vagrant列表,比如box存放在d盘根目录
vagrant box add centos7 vagrant-centos-7.2.box
#初始化,会在目录下生成Vagrantfile的配置文件
vagrant init centos7
#启用
vagrant up
#关闭虚拟机命令
vagrant halt
#重启虚拟机命令
vagrant reload

启动起来后,虚拟机会挂载Ruby_project到虚拟机的vagrant目录下面,这时候用secureCrt连接虚拟机,账号密码都是vagrant,root密码同样是vagrant
由于没有单独配置虚拟机的IP地址,默认虚拟机也会使用127.0.0.1来访问,这需要配置下Vagrant的环境,将访问端口映射到虚拟机上,编辑目录下面的Vagrantfile文件,加入下面的端口配置,整体文件看起来像这样

Vagrant.configure("2") do |config|
 config.vm.box = "centos7"
 config.vm.hostname = "dev"
 config.vm.network "forwarded_port", guest: 3000, host: 3000
 config.vm.network "forwarded_port", guest: 80, host: 8080
end

Rails端口使用3000,Nginx的80端口映射到本机的8080端口。其实单独配置IP更方便一些,以后端口一多,一个一个配置很麻烦。
重启后登录虚拟机,开始配置虚拟机的Rails环境

#更新yum
yum update
#安装EPEL
yum install epel-release 
yum repolist
#安装依赖库
yum install curl-devel nano sqlite-devel libyaml-devel
#安装RVM,安装指定版本的Ruby
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L https://get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh #set up system environment for Ruby, 这步不可少
rvm reload
rvm install 2.0.0 #这里指定ruby版本
#由于众所周知的原因,修改gem的源
gem source -r https://rubygems.org/
gem source -a https://gem.ruby-china.org
#安装nodeJs作为JavaScript的运行环境
yum install nodejs
#安装指定版本的rails
gem install bundler
gem install rails -v 3.2.12 
#安装nginx
yum install nginx

到这里虚拟机环境基本配置完毕了,其他各个插件根据各个项目中的Gemfile在bundle install中进行安装和调整。
在vagrant目录下,输入以下代码

#新建一个项目
rails new hello_world
#进入项目目录
cd hello_world
#检查并安装对于的gem
bundle install
#启动项目
rails s

打开浏览器,输入127.0.0.1:3000 就能看到rails的默认欢迎页了。

启动RubyMine,在之前Ruby_project目录下会出现hello_world的项目目录,直接用RubyMine打开这个文件夹,就能看到该项目的具体源码,这样在IDE中的源码修改会直接作用于虚拟机上。

PS:在Windows下使用Vagrant存在一个问题,就是由于VirtualBox虚拟机的共享文件机制的I/O问题,项目跑起来后,在浏览器浏览很非常的慢,从日志上面看各种资源的读取时间都是几十甚至几百毫秒。网上都说更改共享方式,使用nfsd方式,不过我改过后无法挂载共享盘。问题还没有彻底解决。准备换种共享模式,虚拟机共享目录,本机连接虚拟机的共享目录,这样项目实质是存在虚拟机上,避免I/O的缓慢问题,IDE读取文件慢可以接受,毕竟不会一次打开很多页面。

用Vagrant和VirtualBox搭建Windows下的Ruby on Rails 开发环境

@玛酷猫17 年前

08/6
13:30
Linux

redhat9下安装 MySQL5+Apache2+php5[转]

(正在研究LINUX,寻找了点资料,大家一起分享。)

准备工作: 下载安装文件mysql-standard-5.0.27-linux-i686.tar.gz、httpd-2.2.3.tar.gz、php-5.2.0.tar.gz ,并把它们放在/usr/local/src/ 文件夹里。
一、安装MySQL5
  
1、 在 /usr/local/  里建立 mysql 文件夹。
   # cd /usr/local
   # mkdir mysql
 
2、在 mysql 文件夹里解压文件( 这样解压出的文件夹就是当前文件夹下面 )。
   # cd mysql
   # tar -zxfz  /usr/local/src/mysql-standard-5.0.27-linux-i686.tar.gz
   # ln -s mysql mysql-standard-5.0.27-linux-i686 
//为文件夹 mysql-standard-5.0.27-linux-i686 建立快捷方式。
 
3、# groupadd mysql   
// 建立mysql组
   # useradd mysql -g mysql 
//建立mysql用户并且加入到mysql组中 
 
4、# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf  
//在 support-files目录下有4个模版文件,我们选择其中一个座位Mysql的配置文件,覆盖/etc/my.cnf(系统默认的配置,其中设置了性能参数和Mysql的一些路径参数)。
 
5、# ./scripts/mysql_install_db –user=mysql    
//初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限。
 
6、# chown -R root .    
 //设定root能访问/usr/local/mysql ( 注意root 后面有一个空格和点)。
 
7、 # chown -R mysql data     
//设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。
 
8、# chown -R mysql data/.    
//设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件
 
9、# chgrp -R mysql .      
//设定mysql组能够访问/usr/local/mysql
 
10、# /usr/local/mysql/bin/mysqld_safe –user=mysql &     
//运行mysql,如果没有问题的话,应该会出现类似这样的提示:[1] 42264
   # Starting mysqld daemon with databases from /usr/local/mysql/var    
//如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。大多数问题是权限设置不正确引起的。
 
11、# /usr/local/mysql/bin/mysqladmin -u root password yourpassword    
//默认安装密码为空,为了安全你必须马上修改.
 
12、# cp support-files/mysql.server /etc/rc.d/init.d/mysqld     
//copy编译目录的一个脚本
   # chmod 700 /etc/init.d/mysqld    
//设置使mysql每次启动都能自动运行
   # chkconfig –add mysqld
   # chkconfig –level 345 mysqld on
 
13、# service mysqld start    
//启动mysqld服务
   # netstat -atln     
//查看3306端口是否打开。要注意在防火墙中开放该端口。
  
二、安装apache2
  
1、解压文件
   # cd /usr/local 
   # tar -zxvf /usr/local/srchttpd-2.2.3.tar.gz
 
2、安装
   # cd httpd-2.2.3
   # ./configure –prefix=/usr/local/apache –enable-track-vars –enable-cgi –enable-so –enable-rewrite –enable-mods-shared=all –with-config-file-path=/usr/local/apache/conf
   # make
   # make install
 
3、启动
   # /usr/local/apache/bin/apachectl start
   # netstat -utl   //并检查是否启动
 
4、把apache加入开机启动,把下面这一行加入到/etc/rc.local中。
   /usr/local/apache/bin/apachectl start
  
三、安装php5
  
请先安装libxml,2.6.10以上版本的。

1、# cd /usr/local
   # tar -zvxf /usr/local/src/php-5.2.0.tar.gz 
   # cd php-5.2.0
 
2、# ./configure –prefix=/usr/local/php –with-mysql –with-apxs2=/usr/local/apache/bin/apxs
–enable-trace-vars –with-zlib-dir=/soft/zlib-1.2.3/
 
3、 # make; make install
 
4、拷贝PHP配置文件php.ini:
   # cp ../php5.2.0/php.ini-dist /usr/local/php/lib/php.ini
 
5、添加php类型
   # vi /usr/local/apache/conf/httpd.conf
   AddType application/x-httpd-php .php (230行左右)
 
6、重启
   # /usr/local/apache/bin/apachectl stop
   # /usr/local/apache/bin/apachectl start
 
7、测试
   # cd /usr/local/apache/htdocs
   # vi test.php
   <?php
      phpinfo();
   ?>
最后输入 http://您的地址/test.php 测试

redhat9下安装 MySQL5+Apache2+php5[转]