歡迎您光臨本站 註冊首頁

LNMP(Linux Nginx Mysql php)安裝筆記

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

環境: mysql-5.1.59.tar.gz

pcre-8.12.tar.gz

nginx-1.1.6.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz 首先安裝編譯環境 yum –y install gcc gcc-c autoconf automake一般裝完系統的都會有的 然後安裝Nginx需要的一些庫文件 Yum –y install zlib zlib-devel openssl openssl-devel pcre pcre-devel 如果裝系統的時候安裝了開發庫,,這些裝完系統就會有的 不過系統自帶的pcre版本比較老,需要重新安裝一下新的版本 1.首先安裝Mysql Tar –zxvf mysql-5.1.59.tar.gz ./configure –prefix=/usr/local/mysql –with-charset=gbk –with-xcharset=all Make && make install Useradd mysql /usr/local/mysql/bin/mysql_install_db --user=mysql chown -R mysql /usr/local/mysql/var /usr/local/mysql/bin/mysqld_safe & /usr/local/mysql/bin/mysqladmin -u root password 123456 Cp support-files/my-medium.cnf /etc/my.cnf Vim /etc/my.cnf 在[client]下面加入 default-character-set=utf8 這樣Mysql就能完全支持中文了 echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local 2.安裝Nginx 安裝Nginx之前,需要重新安裝一下PRCE Tar –zxvf pcre-8.12.tar.gz ./configure Make && make install 開始安裝Nginx Tar –zxvf nginx-1.1.6.tar.gz ./configure –prefix=/usr/local/nginx Make && make install echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local 這個時候Nginx就裝好了,打開http://localhost測試 出現Welcome to nginx! 表示安裝成功! 3.安裝PHP 需要的庫文件 Libpng jpeg pegsrc.v7 freetype fontconfig gd 這些庫文件包括對應的devel開發庫也是需要裝的,我裝系統的時候裝了開發庫,所以這些庫文件都已經裝好了,下面我們開始裝PHP 這個地方是最重要的地方,默認情況下

Nginx和PHP他倆之間是一點感覺沒有的.在之前,很多朋友都搭建過Apache PHP,Apache PHP編譯後生成的是模塊文件,而Nginx PHP需要PHP生成可執行文件才可以,所以要利用fastcgi技術來實現N ginx與PHP的整合,這個只要我們安裝是啟用FastCGI即可.此次我們安裝PHP不僅使用了FastCGI,還使用了PHP-FPM這麼一個東東,PHP-FPM說白了是一個管理FastCGI的一個管理器,它作為PHP的插件純在,在安裝PHP要想使用PHP-FPM時就需要把PHP-FPM以補丁的形式安裝到PHP中,PHP要與PHP-FPM版本一致,這是必須的,切記! 以上紅色字體為引用的 首先解壓php-5.2.17.tar.gz Tar –zxvf php-5.2.17.tar.gz Gzip –cd hp-5.2.17-fpm-0.5.14.diff.gz | patch –d php-5.2.17 –p1 //將php-5.2.17-fpm-0.5.14.diff.gz以補丁形式加到php-5.2.17裡面 Cd php-5.2.17 ./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm Make && make install cp php.ini-dist /usr/local/php/lib/php.ini //編譯的時候沒有指定php的配置文件,默認的php配置文件是/usr/local/php/lib/php.ini vim /usr/local/php/etc/php-fpm.conf //編輯改文件,把 <value name=”user”>nobody</value> <value name=”group”>nobody</value> 這兩行的註釋取消,如果不去掉PHP-FPM自己不知道以那個用戶和組運行PHP 去掉之後PHP-FPM會以nobody用戶和組去運行PHP. /usr/local/php/sbin/php-fpm start 啟動php Echo “/usr/local/php/sbin/php-fpm start” >> /etc/rc.local 4.整合Nginx和php Nginx自己是不處理動態網頁的請求,它將得到的動態請求都交給php來處理,現在Nginx和php其實還是沒有關聯的,這時就需要修改Nginx的配置來讓他關聯php Vim /uar/local/nginx/conf/nginx.conf location ~ \.php$ {

root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; include fastcgi_params; } 把以上一段的註釋去掉,就告訴了Nginx遇到URL路徑是以php結尾的都通過9000埠轉交給php去處理 fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name /var/www/html就是我們存放網站的路徑 我們去看一下PHP是通過什麼接收的 Vim /usr/local/php/etc/php-fpm.conf 有這麼一行 <value name="listen_address">127.0.0.1:9000</value> 可以看出php也是通過本地的9000埠來接收數據的, 至此,安裝完成,下面測試 首先測試一下剛才修改Nginx的配置文件有沒有問題 /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 出現 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 說明配置文件寫的沒問題,然後查看Nginx的主進程號是多少 通過ps -aux | grep nginx可以看出來進程號是10504 然後我們通過kill –HUP 10504來重啟Nginx 接下來重啟php /usr/local/php/sbin/php-fpm stop /usr/local/php/sbin/php-fpm start 最後編輯一個php文件來測試 Vim /var/www/html/index.php <?php Phpinfo(); ?> 保存之後訪問http://localhost/index.php 出現php解析成功頁面,測試成功!

本文出自 「ㄨ銷聲匿跡、」 博客,請務必保留此出處http://loveyan.blog.51cto.com/829079/700847


[火星人 ] LNMP(Linux Nginx Mysql php)安裝筆記已經有528次圍觀

http://coctec.com/docs/linux/show-post-46510.html