最近公司在找项目管理的软件,调研了一上午,然后给了几个方案。
一个是是否花钱,市面上的大部分都是花钱
第二个是是否本地部署,现在大部分不能本地部署,支持部署的也是花钱
之前用禅道,不支持多级子任务,不再使用,所以方案必须支持这点。
第三个是否能用破解版。
然后可以用破解版,我首先部署了jira,最后发现也不支持,插件好像也不行,官网也有人说了好几年了。
最后只能上redmine,这个系统勾起了我遥远的回忆,好像正式工作第一家就是用的这个系统,那时候我还改过ruby代码。这个我通过一个演示系统提前知道能多级。
下午又把这个redmine给部署了。这里简单总结一下,不是最优方案,但是内部使用基本没大问题。
使用的方案是,thin+nignx。thin类似于python中uwsgi等的那些。下边的方法是回忆着来的,不一定全,先记一波,以后部署再补充。
redmin安装查看官网教程足够。
安装完有测试启动方式bundle exec rails server webrick -e production,这个肯定不能用在正式环境,可能单线程,没验证
ruby的安装使用的rvm,类似Python里pyenv。
thin安装
gem install thin
thin install 能安装开机启动脚本,和etc下的目录。/etc/rc.d/thin
thin命令能生成配置文件,我直接复制的网上改的
cat /etc/thin/redmine.yml
pid: tmp/pids/thin.pid
wait: 30
timeout: 30
log: log/thin.log
max_conns: 1024
require: []
environment: production
max_persistent_conns: 512
servers: 4
daemonize: true
user: redmine
#socket: /tmp/thin.sock
address: 0.0.0.0
port: 8080
chdir: /data/redmine-4.1
这个配置刚开始怎么试sock都不行,后来端口也不行,我查了一下发现是selinux没关闭,关闭后再没试。让他们先通过thin起一个端口去验证了。
/etc/rc.d/thin start
/etc/rc.d/thin stop
这里会有问题
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:291:in `require': cannot load such file -- thin/connection (LoadError)
查了一下发现得在Gemfile文件里加上thin的引用,没写过ruby,看不懂,添加 gem "thin" 后 启动正常
nginx配置
这里配置基本复制的网上的,静态文件还是用的thin的,没走nginx,因为懒得去修改静态文件目录的权限了。
/etc/nginx/conf.d/redmine.conf
upstream thin_cluster {
# server unix:/tmp/thin.0.sock;
# server unix:/tmp/thin.1.sock;
# server unix:/tmp/thin.2.sock;
# server unix:/tmp/thin.3.sock;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
server {
listen 10.10.12.240:3000;
server_name 10.10.12.240;
access_log /var/log/nginx/redmine-proxy-access;
error_log /var/log/nginx/redmine-proxy-error;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
# root /data/redmine-4.1/public;
proxy_redirect off;
location / {
# try_files $uri/index.html $uri.html $uri @cluster;
try_files $uri.html $uri @cluster;
}
location @cluster {
proxy_pass http://thin_cluster;
}
}
Read more...
Archive for ruby
ruby交互模式工具pry
今天上午改了ror写的redmine的一个注册页面功能,主要验证用户名和邮箱地址前缀一样的功能,直接草代码。找到代码,写了一个验证函数,三个语法错误,启动的时候也没有提示,只能慢慢找但是不知道ruby语法半天找不出来,总共改了20行不到的代码。
然后ruby的交互模式进入命令是irb,我靠,不查都不知道。也不知道有没有命令查看安装软件都装了那些bin文件,只知道用dpkg可以看所有的。找到二进制文件就可以猜一下了。
群里推荐使用pry。用了一下挺不错可以使用终端的快捷键,写起来爽多了。irb直接进入交互模式是不支持的。
pry安装方法:
gem install pry
然后pry启动
然后 我提示了Sorry, you can't use Pry without Readline or a compatible library.这个错误。
解决办法:sudo apt-get install libreadline-dev,sudo gem install rb-readline安装readline。
gem应该是一个类似python中pip的存在,可以使用gem list看都装的那些×和版本。
Read more...