{"id":36133,"date":"2025-12-08T18:41:35","date_gmt":"2025-12-08T15:41:35","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36133"},"modified":"2025-12-08T18:41:35","modified_gmt":"2025-12-08T15:41:35","slug":"ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/","title":{"rendered":"Ruby on Rails&#8217;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Ruby on Rails&#8217;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi<\/h2>\n<p>Ruby on Rails, h\u0131zl\u0131 ve etkili web uygulamalar\u0131 geli\u015ftirmek i\u00e7in tercih edilen g\u00fc\u00e7l\u00fc bir framework&#8217;t\u00fcr. FreeBSD ise kararl\u0131l\u0131\u011f\u0131, g\u00fcvenli\u011fi ve performans\u0131 ile sunucu ortamlar\u0131nda s\u0131k\u00e7a kullan\u0131lan bir i\u015fletim sistemidir. Bu rehberde, FreeBSD 10.1 sunucunuza Ruby on Rails&#8217;i, Ruby s\u00fcr\u00fcmlerini kolayca y\u00f6netmenizi sa\u011flayan RVM (Ruby Version Manager) kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131z. Bu kurulum, farkl\u0131 Rails projeleri i\u00e7in farkl\u0131 Ruby s\u00fcr\u00fcmlerini sorunsuzca kullanman\u0131za olanak tan\u0131yacak esnek bir geli\u015ftirme ortam\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h3>1. Sistem Haz\u0131rl\u0131\u011f\u0131 ve \u00d6n Gereksinimler<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce FreeBSD sisteminizin g\u00fcncel oldu\u011fundan ve gerekli temel geli\u015ftirme ara\u00e7lar\u0131na sahip oldu\u011fundan emin olmal\u0131y\u0131z. Bu ad\u0131mlar, RVM ve Ruby&#8217;nin sorunsuz bir \u015fekilde derlenip kurulmas\u0131 i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h4>1.1. FreeBSD Sistemini G\u00fcncelleme<\/h4>\n<p>\u0130lk olarak, sistem paket dizinini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri y\u00fckseltin. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nleyecektir.<\/p>\n<p><code>sudo pkg update<br \/>\nsudo pkg upgrade -y<\/code><\/p>\n<p>Sistem \u00e7ekirde\u011fi ve temel sistem bile\u015fenlerini de g\u00fcncelledi\u011finizden emin olun (e\u011fer uzun s\u00fcredir yap\u0131lmad\u0131ysa).<\/p>\n<p><code>sudo freebsd-update fetch<br \/>\nsudo freebsd-update install<\/code><\/p>\n<h4>1.2. Temel Geli\u015ftirme Ara\u00e7lar\u0131n\u0131 Kurma<\/h4>\n<p>RVM ve Ruby&#8217;nin kaynak koddan derlenmesi i\u00e7in \u00e7e\u015fitli ara\u00e7lara ve k\u00fct\u00fcphanelere ihtiyac\u0131m\u0131z var. <code>pkg<\/code> komutu ile bunlar\u0131 kolayca kurabiliriz. <code>bash<\/code> kabu\u011fu RVM taraf\u0131ndan yayg\u0131n olarak kullan\u0131ld\u0131\u011f\u0131 i\u00e7in onu da kurman\u0131z\u0131 tavsiye ederiz.<\/p>\n<p><code>sudo pkg install -y git curl autoconf automake bash bison gmake libtool patch readline openssl gdbm libyaml libffi ncurses<\/code><\/p>\n<p>Bu paketler aras\u0131nda <code>git<\/code> (RVM ve Rails kaynak kodlar\u0131 i\u00e7in), <code>curl<\/code> (RVM kurulum beti\u011fini indirmek i\u00e7in), <code>autoconf<\/code>, <code>automake<\/code>, <code>gmake<\/code> (derleme ara\u00e7lar\u0131), <code>openssl<\/code>, <code>libyaml<\/code>, <code>libffi<\/code> (Ruby&#8217;nin ba\u011f\u0131ml\u0131l\u0131klar\u0131) bulunmaktad\u0131r.<\/p>\n<h4>1.3. Kullan\u0131c\u0131 Ortam\u0131 Ayarlar\u0131<\/h4>\n<p><code>bash<\/code> kabu\u011funu varsay\u0131lan olarak kullanm\u0131yorsan\u0131z, RVM&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in <code>bash<\/code>&#8216;e ge\u00e7meniz veya gerekli ortam de\u011fi\u015fkenlerini mevcut kabu\u011funuza (\u00f6rne\u011fin <code>csh<\/code> veya <code>zsh<\/code>) eklemeniz gerekebilir. Bu rehberde <code>bash<\/code> kulland\u0131\u011f\u0131n\u0131z\u0131 varsayarak ilerleyece\u011fiz. E\u011fer kullan\u0131c\u0131n\u0131z i\u00e7in varsay\u0131lan kabuk <code>bash<\/code> de\u011filse, de\u011fi\u015ftirebilirsiniz:<\/p>\n<p><code>chsh -s \/usr\/local\/bin\/bash<\/code><\/p>\n<p>Ard\u0131ndan oturumu kapat\u0131p tekrar a\u00e7\u0131n.<\/p>\n<h3>2. RVM Kurulumu<\/h3>\n<p>RVM (Ruby Version Manager), farkl\u0131 Ruby s\u00fcr\u00fcmlerini ve her s\u00fcr\u00fcm i\u00e7in ayr\u0131 &#8220;gemset&#8221;leri (gem k\u00fcmeleri) y\u00f6netmenize olanak tan\u0131yan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu, farkl\u0131 Rails projelerinin farkl\u0131 Ruby ve gem ba\u011f\u0131ml\u0131l\u0131klar\u0131na sahip oldu\u011fu durumlarda karma\u015f\u0131kl\u0131\u011f\u0131 \u00f6nler.<\/p>\n<h4>2.1. RVM GPG Anahtar\u0131n\u0131 Ekleme<\/h4>\n<p>RVM kurulum beti\u011finin g\u00fcvenilirli\u011fini do\u011frulamak i\u00e7in RVM&#8217;in GPG anahtar\u0131n\u0131 sisteminize eklemeniz gerekir.<\/p>\n<p><code>gpg --keyserver hkp:\/\/keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB<\/code><\/p>\n<p>Bu komut, RVM geli\u015ftiricilerinin genel anahtarlar\u0131n\u0131 PGP anahtar sunucusundan al\u0131r ve yerel GPG anahtar halk\u0131n\u0131za ekler.<\/p>\n<h4>2.2. RVM&#8217;i Kurma<\/h4>\n<p>\u015eimdi <code>curl<\/code> kullanarak RVM kurulum beti\u011fini indirebilir ve \u00e7al\u0131\u015ft\u0131rabilirsiniz. <code>autolibs=enable<\/code> se\u00e7ene\u011fi, RVM&#8217;in ihtiya\u00e7 duydu\u011fu sistem k\u00fct\u00fcphanelerini otomatik olarak kontrol etmesini ve kurmas\u0131n\u0131 sa\u011flar.<\/p>\n<p><code>curl -sSL https:\/\/get.rvm.io | bash -s stable --autolibs=enable<\/code><\/p>\n<p>Bu i\u015flem biraz zaman alabilir. Kurulum tamamland\u0131\u011f\u0131nda, RVM&#8217;i kabu\u011funuzun ortam\u0131na y\u00fcklemeniz gerekir. Bunun i\u00e7in genellikle <code>~\/.bashrc<\/code> dosyas\u0131na eklenen bir <code>source<\/code> komutunu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir.<\/p>\n<p><code>source \/usr\/local\/rvm\/scripts\/rvm<\/code><\/p>\n<p>Bu komutu her yeni terminal oturumunda \u00e7al\u0131\u015ft\u0131rmak yerine, <code>~\/.bashrc<\/code> dosyan\u0131z\u0131n sonuna eklemeniz \u00f6nerilir.<\/p>\n<p><code>echo \"source \/usr\/local\/rvm\/scripts\/rvm\" >> ~\/.bashrc<\/code><\/p>\n<p>Ard\u0131ndan, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in terminali kapat\u0131p yeniden a\u00e7\u0131n veya manuel olarak <code>source ~\/.bashrc<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<h4>2.3. RVM Kurulumunu Do\u011frulama<\/h4>\n<p>RVM&#8217;in do\u011fru kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc sorgulayabilirsiniz:<\/p>\n<p><code>rvm -v<\/code><\/p>\n<p>\u00c7\u0131kt\u0131 olarak RVM s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6rmeniz gerekir.<\/p>\n<h3>3. Ruby Kurulumu ve Y\u00f6netimi<\/h3>\n<p>RVM kurulduktan sonra, Rails projeleriniz i\u00e7in belirli bir Ruby s\u00fcr\u00fcm\u00fcn\u00fc kurabilir ve y\u00f6netebilirsiniz. FreeBSD 10.1 gibi daha eski bir i\u015fletim sistemi kulland\u0131\u011f\u0131m\u0131z i\u00e7in, \u00e7ok yeni Ruby s\u00fcr\u00fcmlerinin derlenmesinde sorunlar ya\u015fanabilir. Bu rehberde, FreeBSD 10.1 ile uyumlu ve Rails 6.x ile iyi \u00e7al\u0131\u015fan Ruby 2.7.x s\u00fcr\u00fcm\u00fcn\u00fc kuraca\u011f\u0131z.<\/p>\n<h4>3.1. Ruby S\u00fcr\u00fcm\u00fcn\u00fc Kurma<\/h4>\n<p>RVM ile Ruby kurmak olduk\u00e7a basittir. \u00d6rne\u011fin, Ruby 2.7.8 s\u00fcr\u00fcm\u00fcn\u00fc kural\u0131m:<\/p>\n<p><code>rvm install ruby-2.7.8<\/code><\/p>\n<p>Bu komut, Ruby 2.7.8&#8217;in kaynak kodunu indirir, derler ve RVM ortam\u0131n\u0131za kurar. Bu i\u015flem sisteminizin performans\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir.<\/p>\n<h4>3.2. Varsay\u0131lan Ruby S\u00fcr\u00fcm\u00fcn\u00fc Ayarlama<\/h4>\n<p>Kurulum tamamland\u0131ktan sonra, bu Ruby s\u00fcr\u00fcm\u00fcn\u00fc ge\u00e7erli terminal oturumunuzda kullanmaya ba\u015flayabilir ve ayn\u0131 zamanda t\u00fcm yeni terminal oturumlar\u0131 i\u00e7in varsay\u0131lan olarak ayarlayabilirsiniz:<\/p>\n<p><code>rvm use ruby-2.7.8 --default<\/code><\/p>\n<p>\u015eimdi hangi Ruby s\u00fcr\u00fcm\u00fcn\u00fc kulland\u0131\u011f\u0131n\u0131z\u0131 kontrol edin:<\/p>\n<p><code>ruby -v<\/code><\/p>\n<p>\u00c7\u0131kt\u0131 olarak <code>ruby 2.7.8p...<\/code> g\u00f6rmelisiniz.<\/p>\n<h4>3.3. Gemset Olu\u015fturma ve Kullanma<\/h4>\n<p>Gemset&#8217;ler, her projenin kendi gem ba\u011f\u0131ml\u0131l\u0131klar\u0131na sahip olmas\u0131n\u0131 sa\u011flayarak ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler. Her proje i\u00e7in ayr\u0131 bir gemset olu\u015fturmak iyi bir pratiktir. \u00d6rne\u011fin, Rails 6.x projeleriniz i\u00e7in bir gemset olu\u015ftural\u0131m:<\/p>\n<p><code>rvm gemset create rails6<br \/>\nrvm use ruby-2.7.8@rails6<\/code><\/p>\n<p>Art\u0131k bu gemset i\u00e7inde kuraca\u011f\u0131n\u0131z t\u00fcm gem&#8217;ler, di\u011fer gemset&#8217;lerden veya Ruby s\u00fcr\u00fcmlerinden ba\u011f\u0131ms\u0131z olacakt\u0131r.<\/p>\n<h4>3.4. Bundler Gem&#8217;ini Kurma<\/h4>\n<p>Rails projelerinin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6netmek i\u00e7in <code>bundler<\/code> gem&#8217;ine ihtiyac\u0131m\u0131z var. Bu gem&#8217;i yeni olu\u015fturdu\u011fumuz <code>rails6<\/code> gemset&#8217;ine kural\u0131m:<\/p>\n<p><code>gem install bundler<\/code><\/p>\n<h3>4. Rails Kurulumu ve \u0130lk Uygulama<\/h3>\n<p>\u015eimdi s\u0131ra Ruby on Rails framework&#8217;\u00fcn\u00fc kurmaya ve ilk Rails uygulaman\u0131z\u0131 olu\u015fturmaya geldi.<\/p>\n<h4>4.1. Rails Gem&#8217;ini Kurma<\/h4>\n<p>Ruby 2.7.x ile uyumlu olan Rails 6.1.x s\u00fcr\u00fcm\u00fcn\u00fc kurabiliriz. E\u011fer farkl\u0131 bir Rails s\u00fcr\u00fcm\u00fcne ihtiyac\u0131n\u0131z varsa, <code>--version<\/code> bayra\u011f\u0131n\u0131 kullanabilirsiniz.<\/p>\n<p><code>gem install rails -v ~>6.1.0<\/code><\/p>\n<p>Bu komut, Rails framework&#8217;\u00fcn\u00fc ve t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 (olu\u015fturdu\u011fumuz <code>rails6<\/code> gemset&#8217;ine) kuracakt\u0131r.<\/p>\n<h4>4.2. Yeni Bir Rails Uygulamas\u0131 Olu\u015fturma<\/h4>\n<p>Rails&#8217;i kurduktan sonra, yeni bir proje olu\u015fturabiliriz. Bu \u00f6rnekte, veritaban\u0131 olarak PostgreSQL kullanaca\u011f\u0131m\u0131z\u0131 varsayarak bir uygulama olu\u015fturaca\u011f\u0131z. PostgreSQL, \u00fcretim ortamlar\u0131 i\u00e7in genellikle daha iyi bir se\u00e7enektir.<\/p>\n<p><code>rails new myapp --database=postgresql<\/code><\/p>\n<p>Bu komut <code>myapp<\/code> ad\u0131nda yeni bir Rails projesi olu\u015fturacak, gerekli dosyalar\u0131 indirecek ve <code>postgresql<\/code> veritaban\u0131 adapt\u00f6r\u00fcn\u00fc yap\u0131land\u0131racakt\u0131r.<\/p>\n<h4>4.3. Veritaban\u0131 Haz\u0131rl\u0131\u011f\u0131 (PostgreSQL \u00d6rne\u011fi)<\/h4>\n<p>E\u011fer PostgreSQL kullanmay\u0131 se\u00e7tiyseniz, sisteminize PostgreSQL istemcisini kurman\u0131z ve veritaban\u0131 kullan\u0131c\u0131\/veritaban\u0131 olu\u015fturman\u0131z gerekir.<\/p>\n<h5>4.3.1. PostgreSQL \u0130stemcisini Kurma<\/h5>\n<p><code>sudo pkg install -y postgresql12-client<\/code><\/p>\n<p>Bu, PostgreSQL veritaban\u0131 ile etkile\u015fim kurmak i\u00e7in gerekli olan istemci ara\u00e7lar\u0131n\u0131 kurar. Sunucuyu ayr\u0131 bir makinede \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, sadece istemci yeterlidir. E\u011fer ayn\u0131 makinede \u00e7al\u0131\u015ft\u0131racaksan\u0131z, <code>postgresql12-server<\/code> paketini de kurman\u0131z ve servisi ba\u015flatman\u0131z gerekebilir.<\/p>\n<h5>4.3.2. Veritaban\u0131 Ayarlar\u0131 ve Olu\u015fturma<\/h5>\n<p>Uygulaman\u0131z\u0131n dizinine gidin:<\/p>\n<p><code>cd myapp<\/code><\/p>\n<p><code>config\/database.yml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek PostgreSQL ba\u011flant\u0131 bilgilerinizi girmeniz gerekebilir. Varsay\u0131lan olarak <code>username: <%= ENV.fetch(\"USER\") { \"root\" } %><\/code> gibi bir yap\u0131 olabilir. Kendi kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 ve \u015fifrenizi ayarlay\u0131n. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-yaml\"># config\/database.yml (bir k\u0131sm\u0131)\ndevelopment:\n  adapter: postgresql\n  encoding: unicode\n  database: myapp_development\n  pool: 5\n  username: your_db_user\n  password: your_db_password\n  host: localhost\n\ntest:\n  adapter: postgresql\n  encoding: unicode\n  database: myapp_test\n  pool: 5\n  username: your_db_user\n  password: your_db_password\n  host: localhost<\/code><\/pre>\n<p><strong>PostgreSQL Kullan\u0131c\u0131s\u0131 ve Veritaban\u0131 Olu\u015fturma:<\/strong><br \/>\nE\u011fer <code>your_db_user<\/code> ve <code>your_db_password<\/code> ile bir PostgreSQL kullan\u0131c\u0131n\u0131z yoksa, <code>psql<\/code> komut sat\u0131r\u0131 arac\u0131n\u0131 kullanarak bir tane olu\u015fturman\u0131z gerekir. \u00d6nce <code>postgres<\/code> kullan\u0131c\u0131s\u0131na ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo -u postgres createuser --pwprompt your_db_user\nsudo -u postgres createdb -O your_db_user myapp_development\nsudo -u postgres createdb -O your_db_user myapp_test<\/code><\/pre>\n<p>Bu komutlar, <code>your_db_user<\/code> ad\u0131nda bir kullan\u0131c\u0131 ve bu kullan\u0131c\u0131ya ait <code>myapp_development<\/code> ile <code>myapp_test<\/code> ad\u0131nda veritabanlar\u0131 olu\u015fturacakt\u0131r.<\/p>\n<p>Son olarak, uygulaman\u0131z\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurun ve veritaban\u0131n\u0131 olu\u015fturun:<\/p>\n<p><code>bundle install<br \/>\nrails db:create<br \/>\nrails db:migrate<\/code><\/p>\n<h4>4.4. Uygulamay\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Art\u0131k Rails uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<p><code>rails server -b 0.0.0.0<\/code><\/p>\n<p><code>-b 0.0.0.0<\/code> se\u00e7ene\u011fi, uygulaman\u0131z\u0131n sadece <code>localhost<\/code> yerine t\u00fcm a\u011f aray\u00fczlerinden eri\u015filebilir olmas\u0131n\u0131 sa\u011flar. Bu, ba\u015fka bir makineden (\u00f6rne\u011fin kendi bilgisayar\u0131n\u0131zdan) FreeBSD sunucunuza eri\u015fmek istedi\u011finizde gereklidir.<\/p>\n<p>Taray\u0131c\u0131n\u0131zda <code>http:\/\/<FreeBSD_Sunucu_IP_Adresi>:3000<\/code> adresine giderek Rails uygulaman\u0131z\u0131n varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>5. Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<p>Bu rehberle birlikte FreeBSD 10.1 sisteminizde RVM kullanarak Ruby on Rails geli\u015ftirme ortam\u0131n\u0131z\u0131 ba\u015far\u0131yla kurmu\u015f oldunuz. Art\u0131k kendi web uygulamalar\u0131n\u0131z\u0131 geli\u015ftirmeye ba\u015flayabilirsiniz. Unutmay\u0131n ki FreeBSD 10.1 eski bir s\u00fcr\u00fcm oldu\u011fu i\u00e7in, \u00e7ok yeni Ruby veya Rails \u00f6zelliklerini kullan\u0131rken uyumluluk sorunlar\u0131 ya\u015fayabilirsiniz. Genellikle stabil ve biraz daha eski s\u00fcr\u00fcmleri tercih etmek daha g\u00fcvenli bir yakla\u015f\u0131md\u0131r.<\/p>\n<h4>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h4>\n<h5>H3.1. Neden RVM kullanmal\u0131y\u0131m?<\/h5>\n<p>RVM, farkl\u0131 projeler i\u00e7in farkl\u0131 Ruby s\u00fcr\u00fcmlerini ve gemset&#8217;lerini izole etmenizi sa\u011flar. Bu, bir projenin Ruby 2.7.x ve Rails 6.x gerektirirken, ba\u015fka bir projenin Ruby 3.0.x ve Rails 7.x gerektirdi\u011fi durumlarda ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler. Geli\u015ftirme ortam\u0131n\u0131z\u0131n temiz ve d\u00fczenli kalmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<h5>H3.2. Hangi Ruby s\u00fcr\u00fcm\u00fcn\u00fc kurmal\u0131y\u0131m?<\/h5>\n<p>Genellikle en son stabil Ruby s\u00fcr\u00fcm\u00fc tavsiye edilir. Ancak FreeBSD 10.1 gibi eski bir i\u015fletim sistemi kullan\u0131yorsan\u0131z, daha yeni Ruby s\u00fcr\u00fcmleri i\u00e7in gereken derleyici (GCC) ve sistem k\u00fct\u00fcphaneleri g\u00fcncel olmayabilir. Bu rehberde kullan\u0131lan Ruby 2.7.x ve Rails 6.1.x, bu t\u00fcr ortamlar i\u00e7in daha g\u00fcvenli ve uyumlu bir se\u00e7enektir.<\/p>\n<h5>H3.3. FreeBSD&#8217;de performans ipu\u00e7lar\u0131 nelerdir?<\/h5>\n<p>*   <strong>JEMalloc Kullan\u0131m\u0131:<\/strong> Bellek y\u00f6neticisi olarak <code>jemalloc<\/code> kullanmak, Ruby uygulamalar\u0131n\u0131n bellek performans\u0131n\u0131 art\u0131rabilir. <code>RUBY_GC_HEAP_INIT_SLOTS=200000 RUBY_GC_HEAP_FREE_SLOTS=100000<\/code> gibi ortam de\u011fi\u015fkenleri ile Garbage Collector ayarlar\u0131n\u0131 optimize edebilirsiniz.<br \/>\n*   <strong>CPU ve RAM:<\/strong> Yeterli CPU \u00e7ekirde\u011fi ve RAM, Rails uygulamalar\u0131 i\u00e7in kritik \u00f6neme sahiptir.<br \/>\n*   <strong>Disk H\u0131z\u0131:<\/strong> SSD kullanmak, \u00f6zellikle <code>bundle install<\/code> gibi disk yo\u011fun i\u015flemler s\u0131ras\u0131nda performans\u0131 art\u0131r\u0131r.<br \/>\n*   <strong>Web Sunucusu:<\/strong> \u00dcretimde, <code>puma<\/code> veya <code>unicorn<\/code> gibi Ruby tabanl\u0131 bir web sunucusunu, <code>nginx<\/code> veya <code>apache<\/code> gibi bir ters proxy&#8217;nin arkas\u0131nda \u00e7al\u0131\u015ft\u0131rmak standart bir yakla\u015f\u0131md\u0131r.<\/p>\n<h5>H3.4. Veritaban\u0131 se\u00e7imi (SQLite vs PostgreSQL)?<\/h5>\n<p>*   <strong>SQLite:<\/strong> Geli\u015ftirme ve k\u00fc\u00e7\u00fck \u00f6l\u00e7ekli projeler i\u00e7in kurulumu kolay ve h\u0131zl\u0131d\u0131r. Tek bir dosya olarak depoland\u0131\u011f\u0131 i\u00e7in y\u00f6netimi basittir. Ancak \u00fcretim ortamlar\u0131 i\u00e7in \u00f6l\u00e7eklenebilirlik, e\u015fzamanl\u0131l\u0131k ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan genellikle uygun de\u011fildir.<br \/>\n*   <strong>PostgreSQL:<\/strong> \u00dcretim ortamlar\u0131 i\u00e7in g\u00fc\u00e7l\u00fc, g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir veritaban\u0131 y\u00f6netim sistemidir. Geli\u015fmi\u015f \u00f6zelliklere sahiptir ve b\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalar i\u00e7in idealdir. Kurulumu ve y\u00f6netimi SQLite&#8217;a g\u00f6re daha karma\u015f\u0131kt\u0131r. Bu rehberde PostgreSQL tercih edilmi\u015ftir.<\/p>\n<h5>H3.5. Rails uygulamam \u00e7al\u0131\u015fm\u0131yor, nas\u0131l sorun gideririm?<\/h5>\n<p>*   <strong>Loglar\u0131 Kontrol Edin:<\/strong> <code>log\/development.log<\/code> (veya <code>log\/production.log<\/code>) dosyas\u0131ndaki hatalar\u0131 inceleyin.<br \/>\n*   <strong>Ba\u011f\u0131ml\u0131l\u0131klar:<\/strong> <code>bundle install<\/code> komutunun ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun. Eksik gem&#8217;ler veya ba\u011f\u0131ml\u0131l\u0131klar sorunlara neden olabilir.<br \/>\n*   <strong>Veritaban\u0131 Ba\u011flant\u0131s\u0131:<\/strong> <code>config\/database.yml<\/code> dosyas\u0131ndaki veritaban\u0131 ba\u011flant\u0131 bilgilerini ve PostgreSQL kullan\u0131c\u0131s\u0131\/veritaban\u0131 ayarlar\u0131n\u0131 kontrol edin. <code>rails db:create<\/code> ve <code>rails db:migrate<\/code> komutlar\u0131n\u0131n hatas\u0131z \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>Port \u00c7ak\u0131\u015fmalar\u0131:<\/strong> Ba\u015fka bir uygulaman\u0131n 3000 portunu kullan\u0131p kullanmad\u0131\u011f\u0131n\u0131 kontrol edin. <code>lsof -i :3000<\/code> komutu ile kontrol edebilirsiniz.<br \/>\n*   <strong>Ortam De\u011fi\u015fkenleri:<\/strong> RVM ortam de\u011fi\u015fkenlerinin do\u011fru \u015fekilde y\u00fcklendi\u011finden emin olun (<code>source \/usr\/local\/rvm\/scripts\/rvm<\/code>).<br \/>\n*   <strong>Firewall:<\/strong> FreeBSD sunucunuzda bir firewall (\u00f6rne\u011fin <code>pf<\/code>) \u00e7al\u0131\u015f\u0131yorsa, 3000 portunun d\u0131\u015far\u0131dan gelen ba\u011flant\u0131lara a\u00e7\u0131k oldu\u011fundan emin olun.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ruby on Rails&#8217;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi\nRuby on Rails, h\u0131zl\u0131 ve etkili web uygulamalar\u0131 geli\u015ftirmek i\u00e7in tercih edilen g","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1342],"tags":[],"class_list":{"0":"post-36133","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ai","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ruby on Rails&#039;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby on Rails&#039;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Ruby on Rails&#039;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi Ruby on Rails, h\u0131zl\u0131 ve etkili web uygulamalar\u0131 geli\u015ftirmek i\u00e7in tercih edilen g\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-08T15:41:35+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ruby on Rails&#8217;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi\",\"datePublished\":\"2025-12-08T15:41:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/\"},\"wordCount\":1810,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AI\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/\",\"name\":\"Ruby on Rails'i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-08T15:41:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruby on Rails&#8217;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ruby on Rails'i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ruby on Rails'i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi","og_description":"Ruby on Rails'i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi Ruby on Rails, h\u0131zl\u0131 ve etkili web uygulamalar\u0131 geli\u015ftirmek i\u00e7in tercih edilen g","og_url":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-08T15:41:35+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ruby on Rails&#8217;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi","datePublished":"2025-12-08T15:41:35+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/"},"wordCount":1810,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AI"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/","name":"Ruby on Rails'i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-08T15:41:35+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-freebsd-10-1-uzerine-rvm-ile-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ruby on Rails&#8217;i FreeBSD 10.1 \u00dczerine RVM ile Kurulum Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36133"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36133\/revisions"}],"predecessor-version":[{"id":36134,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36133\/revisions\/36134"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}