YUM方式安裝LNMP

作者: | 2010-10-05
Logo

剛剛發現有位老俄真的實在太佛心來著的 :O 居然打包好LNMP所需的元件,安裝起來真是方便又快速來著的了,我還寫啥鬼腳本了油幹嗎,真想親他一下啊!! (K) 這位老俄真的是太好心了啦! (Y) 而且他還打包了非常非常多的東西唷! 有興趣的可以看看~

http://centos.alt.ru/?p=120 << 佛心老俄的部落格,請用咕狗翻譯機,免得霧煞煞 http://centos.alt.ru/pub/ http://centos.alt.ru/pub/repository/centos/5/用法很簡單,先建立一個repo餵給YUM用vi /etc/yum.repos.d/CentALT.repo,內容如下:

[CentALT]
name=CentALT Packages for Enterprise Linux 5 - $basearch
baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
enabled=1
gpgcheck=0

i386系統先服用

rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ihv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

x86_64位元系統先服用

rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

然後只要下

yum install -y nginx-stable mysql mysql-server php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator

就安裝好了 @@ 再加入到開機啟動就全好了 @@ 也太快了吧!!!!!!! :P

chkconfig --level 345 mysqld on
chkconfig --level 345 php-fpm on
chkconfig --level 345 nginx on

PS : 如果是用yum install -y nginx就是安裝0.8X版的測試版,但如果已經有很多個repo了,就要服用這個~

yum --enablerepo=CentALT update nginx

———-

文章更新 = =… 今天試著跟著做,是滿方便的沒錯啦! 不過手動調整了一些參數還是碰到小問題處理了一下,以下是完整過程。

Setp1: 上面一樣要先弄好epel跟CentALT.repo才可以下這3串指令

yum -y install automake autoconf bison bzip2 bzip2-devel curl curl-devel e2fsprogs e2fsprogs-devel flex fonts-chinese freetype freetype-devel gcc gcc-c++ gcc-g77 gd glib2 glib2-devel gzip libidn libidn-devel libjpeg libjpeg-devel libmcrypt libmcrypt-devel libtool libpng libpng-devel libtool-libs libxml2 libxml2-devel krb5 krb5-devel make ncurses ncurses-devel patch pcre-devel openssl openssl-devel sendmail tar unzip wget zlib zlib-devel
yum -y install mysql mysql-server nginx-stable php php-cli php-eaccelerator php-fpm php-gd php-mbstring php-mcrypt php-mysql php-pdo php-pear php-pecl-memcache php-tidy php-xml php-xmlrpc
yum update -y && yum clean packages

Setp2: 執行MySQL然後設定root的密碼

注意喔! 帳號 password 密碼,可別搞混惹~

mv /etc/init.d/mysqld /etc/init.d/mysql
chkconfig --level 345 mysql on
/usr/bin/mysql_install_db --user=mysql
service mysql start
/usr/bin/mysqladmin -u root password root
service mysql stop

然後將my.cnf做調整一下

my.cnf範例檔

Setp3: 安裝phpMyAdmin

wget http://softlayer.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.7/phpMyAdmin-3.3.7-all-languages.tar.gz
tar zxvf phpMyAdmin-3.3.7-all-languages.tar.gz
cp -f /usr/share/nginx/html/phpmyadmin/config.sample.inc.php /usr/share/nginx/html/phpmyadmin/config.inc.php
mv -f phpMyAdmin-3.3.7-all-languages /usr/share/nginx/html/phpmyadmin
rm -f phpMyAdmin-3.3.7-all-languages.tar.gz
mkdir -p /var/lib/php/session
chmod 777 /var/lib/php/session

建立phpMyAdmin的資料庫

/usr/bin/mysql -u root -proot
create database phpmyadmin;
FLUSH PRIVILEGES;
USE phpmyadmin;
quit;

載入phpMyAdmin的SQL檔

/usr/bin/mysql -u root -proot phpmyadmin < /usr/share/nginx/html/phpmyadmin/scripts/create_tables.sql

編輯phpMyAdmin的設定檔config.inc.php,要愛用搜尋功能/去修改唷! :D

vi /usr/share/nginx/html/phpmyadmin/config.inc.php

第18行加入隨機亂碼字串,就是在粗體的地方要修改
$cfg['blowfish_secret'] = 'bB:&+d|qfJU-DXU8J[:=4e,b:EpW#+ZU{NU,ZiID1tHLS#pyC*=+L|J8>e/7F^F2'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

第32行 - 如果碰到使用正確密碼卻登入不了的話試試看把這個改成127.0.0.1
$cfg['Servers'][$i]['host'] = '127.0.0.1';

49~58行的/* Advanced phpMyAdmin features */進階phpMyAdmin功能,把//拿掉(可拿可不拿)。

Setp4: 調整php.ini設定

vi /etc/php.ini

post_max_size = 128M // 481行
upload_max_filesize = 128M // 591行
max_execution_time = 1800 // 300行
max_input_time = 1800 // // 301行
memory_limit = 16M // 303行,這個視記憶體多寡做調整,16M適合小型256MB以下的VPS

php.ini範例檔

Setp5: 調整eAccelerator加速器設定

vi /etc/php.d/eaccelerator.ini

第25行,這個一樣也是照著記憶體多寡做調整,16M適合小型256MB以下的VPS

eaccelerator.shm_size="16"

eaccelerator.ini範例檔

Setp6: 調整NGiNX設定

mkdir -p /usr/share/nginx/tmp/proxy_temp
mkdir -p /usr/share/nginx/tmp/fastcgi_temp
mkdir -p /usr/share/nginx/tmp/client_body_temp
chmod 777 /usr/share/nginx/tmp/proxy_temp
chmod 777 /usr/share/nginx/tmp/fastcgi_temp
chmod 777 /usr/share/nginx/tmp/client_body_temp

範例抓回去把domain跟網頁路徑改一改之後測試設定檔有無問題就好了,新版的NGiNX設定檔好像有增加一些參數~ 8-) 今天沒做這個都不知道有更新呢 @@"

nginx.conf範例檔

/usr/sbin/nginx -t

編輯php-fpm.conf調整max_children參數,因為預設是10~ 冏rz

vi /etc/php-fpm.conf

第41行 - 按照使用的Fast-CGI對應的方法做修改,原則上用port較適合做反向代理

/tmp/php-cgi.sock

第55行,此為PHP-CGI的工作線程,RAM多可以把max_children盡量調高一點,小一點的就調整request_terminate_timeout

2

第72行,此為請求中斷時間,當伺服器負載過高時可設定這個來延長中斷時間,會比較少出現502 Bad Gateway畫面,但等待時間相對的會延長。

10s

php-fpm.conf範例檔

Setp7: 大功告成! 啟動之! ;)

chkconfig --level 345 nginx on
chkconfig --level 345 php-fpm on
service mysql start
service nginx start
service php-fpm start

最後請記得去修改MySQL的密碼! 預設帳號是root 密碼 root

----------

NGiNX 安裝資料夾 : /usr/sbin/nginx
MySQL 安裝資料夾 : /usr/bin/mysql
PHP 安裝資料夾 : /usr/bin/php
網站資料夾 : /usr/share/nginx/html

NGiNX 設定檔 : /etc/nginx/nginx.conf
MySQL 設定檔 : /etc/my.cnf
PHP 設定檔 : /etc/php.ini
FastCGI 設定檔 : /etc/php-fpm.conf

----------

測試探針:http://whoami.za.net/
phpSysInfo:http://whoami.za.net/phpsysinfo/

安裝在VMWare的情形

臉書回應

篇回應

7 thoughts on “YUM方式安裝LNMP

  1. 窮苦人家的小孩 文章作者

    my.cnf跟php.ini還有nginx.conf當然還是要改一下啦! 另外MySQL是5.0.91版本喔! 不過也滿穩定的啦! 我倒覺得5.1.50這版很奇怪,常常多跑兩個進程,看錯誤檔案又沒頭緒也google不到相關的錯誤 8-)


    779:

    哇…….
    內容已經是完全體了嗎?
    還是有要自己加?

    回覆
  2. 779

    可是進程多 會不會跟使用量有關
    我弄那論壇基本上是2個 可是當人流變多 SQL存取增加時 會變成3到4個…

    回覆
  3. 窮苦人家的小孩 文章作者

    我部落格也沒這摸大瀏覽量啊 = = 難道有人在弄我嗎~ 冏rz


    779:

    可是進程多 會不會跟使用量有關
    我弄那論壇基本上是2個 可是當人流變多 SQL存取增加時 會變成3到4個…

    回覆
  4. 779

    XD XD XD XD XD
    你幹了啥麼會讓人弄的事嗎[喂
    還是XX BLOG被GG搜索到了XD

    回覆
  5. 窮苦人家的小孩 文章作者

    傻眼惹~ :| 今天在這台用YUM安裝LNMP的機器上裝pureftpd的時候發現少了POSIX,解決方法就是PHP砍掉重練,MYSQL少了一些元件,又是砍掉重練,唉唉~ 結果還是自己手動鞭來的有效,周末把acelnmp來更新一下,MYSQL 5.1.50版會有DDOS的疑慮,我已經升級囉~ :-#

    回覆

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

(A)  :@  (brb)  (U)  (:cc)  :S  (H)  :-(  :cute  (6)  :-#  :$  :er  8-)  FUCK 
(})  ({)  GY  (L)  :kao  (K)  :cc  :pu  (F)  :(  ^o)  :-*  :O  +o(  |-) 
:)  (*)  :D  *-)  (N)  (Y)  :P  :|  (W)  ;)  XD