`
fireDragonpzy
  • 浏览: 463078 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

centos6 安装ruby on rails(nginx+unicorn)(建立环境依赖)

阅读更多
.

1.第一步

su root ***

安装依赖包

yum -y install gcc 


yum install flex autoconf zlib curl zlib-devel curl-devel bzip2 bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel 

gcc+ gcc-c++ libxml2 libxml2-devel libxslt libxslt-devel 


(说明:以上包都得安装上,否则最后rails 环境会出错)

2.安装ruby

wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz 


tar -zxvf ruby-1.9.2-p0.tar.gz 


cd ruby-1.9.2-p0 


./configure --prefix=/usr/local/ruby 


make 


make test 


make install 


3.ruby 安装后 gem list 出现错误

ERROR: Loading command: list (LoadError) 


no such file to load -- zlib 


ERROR: While executing gem ... (NameError) 


uninitialized constant Gem::Commands::ListCommand 

解决办法: 


sudo apt-get install zlib1g-dev 


(2)然后到源码目录的ext/zlib下 (刚才解压的ruby1.9.2目录) 


sudo ruby extconf.rb (需要管理员权限) 


make 


sudo make install 

4. sudo: ruby: command not found

建立以下软链接:

sudo ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby 


sudo ln -s /usr/local/ruby/bin/gem /usr/bin/gem 


5. gem install rails

6. 安装 mysql

三条命令实现安装 mysql

yum install mysql-server 


yum install mysql 


yum install mysql-devel 

默认安装的mysql 密码是空 , 所以需要修改密码

mysql -u root -p 回车进入 


mysql> USE mysql; 


mysql> UPDATE user SET Password=PASSWORD('new-password') WHERE user='root'; 


mysql> FLUSH PRIVILEGES; 


重启 mysql service 


/etc/init.d/mysqld restart 


ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/ var/lib/mysql/mysql.sock' (2) 


sudo /etc/init.d/mysqld start 

7. 安装git和部署项目

yum install git-core 


ssh-keygen -t rsa 

如果是从别的地方拷贝过来的,需 进行权限操作:

chmod 777 id_rsa id_rsa.pub

8.克隆服务器项目

(1).rails 项目为了避免麻烦的权限,一般部署在 ~/ 目录下

mkdir projects && cd .. 


git clone git@192.168.8.201:entos.git 


cd entos 


切换到开发分支 


git checkout develop 


bundle install 


mv config/database.yml.example database.yml 

(2) 修改示例数据库配置文件

vi config/database.yml edit root# password 


建库,数据迁移 


bundle exec rake RAILS_ENV=production db:create:all 


bundle exec rake RAILS_ENV=production db:migrate

(3) 启动服务并测试

rails s

本地测试rails 环境是否搭建成功

浏览器访问:localhost:3000 是否出现首页

(4) 再此期间遇到的问题:

a 如果出现:errors:libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

解决方法:sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel (此时要有 -y 参数,否则安装出错)

b 如果出现 :make: g++: Command not found

解决方法: yum -y install gcc+ gcc-c++

c 如果出现: no such file to load -- openssl (LoadError)

解决办法: cd ~/Downloads/ruby-1.9.2-p180/ext/openssl (assuming you extracted the ruby tar to ~/Downloads)

$ ruby extconf.rb && make && sudo make install

9. nginx+unicorn 部署:

(1) install nginx

wget http://nginx.org/download/nginx-1.0.10.tar.gz 


sudo ./configure --prefix=/usr/local/nginx 


make && make install 


启动 :sudo /usr/local/nginx/sbin/nginx 


停止:sudo /usr/local/nginx/sbin/nginx -s stop 


重启:sudo /usr/local/nginx/sbin/nginx -s reload

(2)安装遇到的问题

./configure: error: the HTTP rewrite module requires the PCRE library.

安装pcre-devel解决问题

yum -y install pcre-devel

(3)安装Unicorn

gem install unicorn 


获取 unicorn 配置文件 


curl -o config/unicorn.rb https://raw.github.com/defunkt/unicorn/master/examples/unicorn.conf.rb 

修改配置文件:

vi config/unicorn.rb

app_path="/home/dong/projects/entos" 


working_directory app_path # available in 0.94.0+ 


listen app_path+"/tmp/nginx/sockets/unicorn.sock", :backlog => 64 (/tmp/nginx/sockets 需提前创建该文件目录,特别注意:unicorn.sock 不用创建,当unicorn_rails 启动后,会自动生成该文件*.sock) 


listen 8080, :tcp_nopush => true 


timeout 30 


pid app_path+"/tmp/pids/unicorn.pid" 


stderr_path app_path+"/log/unicorn.stderr.log" 


stdout_path app_path+"/log/unicorn.stdout.log" 

(须在项目log目录下创建 unicorn.stderr.log ,unicorn.stdout.log,两个文件)

touch log/unicorn.stderr.log

touch log/unicorn.stdout.log

启动 unicorn_rails

unicorn_rails config/unicorn.rb -E production -D 




sudo gedit /usr/local/nginx/conf/nginx.conf

关键代码配置:

user root root; 


http{ 


upstream unicorn_server { 


server unix:/home/dong/projects/entos/tmp/nginx/sockets/unicorn.sock fail_timeout=0; 


} 


server { 


listen 80; 


server_name www.entsea.com; 


root /home/dong/projects/entos/public; 


#charset koi8-r; 




#access_log logs/host.access.log main; 




location / { 


proxy_redirect off; 


proxy_set_header Host $host; 


proxy_set_header X-Forwarded-Host $host; 


proxy_set_header X-Forwarded-Server $host; 


proxy_set_header X-Real-IP $remote_addr; 


proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 


proxy_buffering on; 


proxy_pass http://unicorn_server; #关键部分,如果没此配置:则会出现 nginx 403 Forbidden ,即使放到最大权限也无济于事 


} 


} 




} 

如果是本地测试,需添加 链接

vim /etc/hosts

127.0.0.1 www.entsea.com

测试:浏览器输入 www.entsea.com 会看到首页

10.centos 安装中文输入法

yum install "@Chinese Support"

Preferences-Input method-最后选择添加...
分享到:
评论

相关推荐

    centos下安装配置nginx+mysql+php环境

    ### CentOS 下安装配置 Nginx + MySQL + PHP 环境 #### 一、安装 MySQL 在 CentOS 下安装 MySQL 的过程主要包括用户与用户组的创建、配置安装路径、编译安装以及配置 MySQL 服务等步骤。 ##### 1.1 建立相关用户...

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0

    centos 6.0最简化编译安装Nginx+Mysql+PHP+Zend

    本文将详细解析如何在CentOS 6.0上通过编译安装Nginx、Mysql、PHP以及Zend Optimizer的过程,旨在为开发者提供一个高效、简洁的Web服务环境搭建指南。 #### Nginx:小巧而高效的Web服务器 Nginx是一款由Igor ...

    centOS8 安装LNMT(nginx+mysql+tomcat).pdf

    centOS8 安装LNMT(nginx+mysql+tomcat),此文档为本人原创的文档,有兴趣可以看一下: 本文在centos8基础上进行安装,软件版本如下: 名称 版本 安装方式 备注 jdk 13.0.2 rpm Oracle jdk,目前最新版本 nginx...

    centos下安装nginx+php+mysql

    6. **启动 Nginx**:通过 `/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf` 启动 Nginx。 7. **停止 Nginx**:通过 `/usr/local/nginx/sbin/nginx -s stop` 停止 Nginx。 #### 四、PHP 安装与...

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    本教程将详细介绍如何在阿里云服务器上配置一个CentOS系统,然后安装Nginx作为反向代理服务器,以及Gunicorn作为WSGI服务器,最后集成Python和Flask来实现一个完整的Web服务环境。 首先,确保你的阿里云服务器是...

    centos+nginx+mysql+django+uwsgi+python

    本文详细介绍了如何在CentOS上安装Django Web框架及其相关组件的过程,包括Python环境的搭建、Django的安装与测试、uWSGI和Nginx的安装配置等步骤。通过以上步骤,可以在CentOS服务器上构建出一个完整的Web应用环境...

    zabbix详细安装教程(linux+postgresql+nginx+zabbix)

    3. **YUM源配置及依赖安装** - 创建一个新的YUM源配置文件,以便安装后续所需的依赖包。 ```bash # vi /etc/yum.repos.d/http.repo [base] name=centos baseurl=http://10.195.229.126/centos6.6/x86_64 ...

    CentOS系统安装配置Nginx+keepalived实现负载均衡

    CentOS系统安装配置Nginx+keepalived实现负载均衡 本文将详细介绍CentOS系统安装配置Nginx+keepalived实现负载均衡的步骤和配置过程。通过本文,读者将了解如何使用Nginx和keepalived来实现高可靠性的负载均衡架构...

    Centos_6.3_编译安装Nginx+php+Mysql

    在CentOS 6.3系统中编译安装Nginx、PHP以及MySQL是一项涉及多个步骤的任务,包括系统配置、源码包的下载、安装必要的编译工具和依赖库、编译源码以及配置和启动服务。以下是根据提供的文件内容整理的知识点。 1. ...

    centos傻瓜式安装nginx+php+mysql+memcache+mongodb

    安装Nginx需要先安装依赖库,包括gcc、gcc-c++、autoconf、libjpeg、libpng、freetype、libxml2、zlib、glibc、glib2、bzip2、ncurses、curl、e2fsprogs和krb5等。使用以下命令安装依赖库: ``` yum -y install gcc ...

    centos7安装+tomcat+mysql+jdk+nginx配置步骤

    centos7安装+tomcat+mysql+jdk+nginx配置步骤,按着步骤走傻子都能做出来,非常详细

    centOS7 配置php+nginx+mysql 环境脚本

    在CentOS7上安装nginx: ```bash sudo yum install nginx sudo systemctl start nginx sudo systemctl enable nginx ``` 配置nginx以处理PHP请求,你需要编辑`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default...

    centos7-fastdfs+nginx+php开发环境部署.doc

    在本文中,我们将深入探讨如何在CentOS 7环境下搭建FastDFS+nginx+php的开发环境,这是一个常用的技术栈,适用于构建类似微信、京东、淘宝等大型应用的后端小文件服务器。首先,我们来看看所需的软件及其版本: 1. ...

    centos6.5 64位系统集成nginx+3个tomcat文档

    ### CentOS 6.5 64位系统集成Nginx + 3个Tomcat文档 #### 背景概述 本文档旨在详细介绍如何在CentOS 6.5 64位系统上部署Nginx与三个Tomcat实例,并实现基本的负载均衡功能。通过这种方式,可以有效地提高Web应用的...

    CentOS 6.0最小化编译安装Nginx+MySQL+PHP+Zend.pdf

    在本文中,我们将深入探讨如何在CentOS 6.0最小化安装环境下,手动编译安装Nginx、MySQL、PHP以及Zend Optimizer。这个过程对于理解这些软件的工作原理、自定义配置以及优化性能非常有帮助。以下是详细的步骤: 1. ...

    CentOs5.5+mysql+nginx+php5.3.3安全安装手册.doc

    CentOs5.5+mysql+nginx+php5.3.3安全安装手册.doc

    CentOS6.5+mysql+nginx+php+memcached安装指南

    Windows8上安装虚拟机VirtualBox,然后新建虚拟电脑,搭建CentOS6.5 + mysql + nginx + php + memcached平台环境,部署网站。文档中记录了部分FAQ。

    CentOS 6.0最小化编译安装Nginx+MySQL+PHP+Zend

    在本教程中,我们将详细介绍如何在CentOS 6.0最小化安装环境下,手动编译安装Nginx、MySQL、PHP以及Zend Optimizer。这个过程主要用于学习和掌握服务器配置及软件编译安装技术,同时也适用于那些希望自定义配置组件...

Global site tag (gtag.js) - Google Analytics