linux中path变量

PATH的作用:
PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令。
可通过$PATH查看所有环境变量

1
2
$PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:

而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒号使目录与目录之间隔开。
设置PATH:
在profile中设置PATH

1
vim /etc/profile

在文件末尾加上两行

1
2
PATH=$PATH:/usr/local/nginx/sbin
export PATH

并执行命令,使其生效

1
source /etc/profile

相关的环境变量生效后,就不必老跑到软件的可执行文件目录,可直接通过执行

1
sudo nginx -s reload

或者可以直接将可执行文件,例: /opt/nginx/sbin/nignx 放在某个$PATH下,也可实现相同的功能。

rails多个项目,登陆共享session

最近在做一个项目,需要根据业务模块拆分出来多个项目来开发,在主项目直接登录,跳转到其它项目的时候,无需再次登陆。

1.如果两个项目共用一个数据库,可以这么用,将sesssion id存入数据库。

rails是4.1以上的话,gemfile添加

mac下rails项目连接oracle数据库

最近上了一个新项目,需要用oracle数据库,oracle数据库对mac的支持太弱了。本来想在本地装一个oracle数据库,但是mac竟然没有11g版本的oracle,因为生产环境用的是oracle 11g,所以就放弃了在本地装oracle的。然后直接连的测试机的oralce。rails用oracle相比用mysql来说,也复杂了很多。

1.首先,需要去官网下载oracle client,linux基本一致,找到对应自己版本的client下载即可。一共需要下载3个文件。

rails发送邮件 smtp qq

rails中使用邮件服务是非常方便的,直接加配置文件就可以,但是配置的时候很多时候会有问题,无法看到具体的报错信息,这里记录下qq smtp的踩坑过程。

production.rb需要添加如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ActionMailer::Base.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"
ActionMailer::Base.smtp_settings = {
:address => 'smtp.qq.com',
:port => 465,
:domain => 'qq.com',
:user_name => 'xxx@qq.com',
:password => 'xxxxxxxxx',
:authentication => 'plain',
:ssl => true,
:enable_starttls_auto => true
}

切记,qq邮箱后台要开启POP3/SMTP服务,开启的时候需要通过发送短信息启用,启用的时候会生成一个授权码,配置文件的password只需要填写授权码即可。