LNMP安裝筆記(ubuntu+nginx+mysql+php、php-fpm)
每次在ubuntu編譯安裝php時(shí),總是有一大堆的依賴軟件要弄,由于個(gè)人不是很懂php方面的依賴作用,只能每個(gè)依賴軟件都一一安裝,今天筆記一下
一、安裝ubuntu(省略)
二、安裝nginx
1、版本1.0.14
寫道
wget http://nginx.org/download/nginx-1.0.14.tar.gz
2、安裝一些基本軟件
寫道
apt-get install gcc g++ libpcre++-dev
3、解壓安裝nginx
寫道
tar zxvf nginx-1.0.14.tar.gz
./configure
make
make install
安裝完成之后,nginx相關(guān)目錄放在/usr/local/nginx下面
/usr/local/nginx/sbin/nginx啟動(dòng)nginx,瀏覽器輸入ip,應(yīng)該就能看到“welcome to nginx”
三、安裝mysql
這個(gè)就不源碼安裝了把,除非有特別需求的人就去官網(wǎng)找對(duì)應(yīng)版本了
寫道
apt-get install mysql-server
安裝過程中會(huì)彈出提示設(shè)置mysql密碼
四、安裝php php-fpm(fastcgi)
這個(gè)比較復(fù)雜,主要是依賴軟件太多,也不知道能不能放棄某個(gè),就全部都裝了
1、下載php跟php-fpm補(bǔ)丁
需要特別注意的就是php的版本跟php-fpm補(bǔ)丁的版本一定要完全一樣
寫道
php:wget http://cn.php.net/get/php-5.2.17.tar.gz/from/this/mirror
php-fpm:wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
2、安裝依賴軟件
相信過來人都見識(shí)過安裝php過程報(bào)錯(cuò)的麻煩,下面這個(gè)是我全過程安裝記錄下來的一些所需依賴軟件,應(yīng)該比較全面了。
寫道
apt-get install libssl0.9.8 libssl-dev openssl libxml2-dev curl libcurl3 libcurl4-gnutls-dev libjpeg62-dev libpng12-dev libfreetype6-dev libjpeg62 libncurses5-dev libpng3 libpng++-dev libmcrypt-dev
有個(gè)經(jīng)典的報(bào)錯(cuò)“error: libjpeg.(a|so) not found.” “error: libpng.(a|so) not found.”
find / -name "libjpeg.so"
把輸出的文件復(fù)制一份到/usr/lib下
find / -name "libpng.so"
同上
3、編譯安裝php
下載好了php、php-fpm之后
寫道
(1) 解壓php
tar zxvf php-5.2.17.tar.gz
(2) 安裝php-fpm補(bǔ)丁
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
(3) 編譯安裝php- ./configure --enable-fastcgi --prefix=/usr/local/php-cgi --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-mysql --with-mysqli --with-pdo-mysql --enable-sockets --with-curl --with-ttf --with-libxml-dir --with-config-file-path=/usr/local/php-cgi/etc --with-zlib --enable-exif --enable-ftp --with-xmlrpc --enable-zip --with-iconv-dir --with-libxml-dir --with-mcrypt --with-tidy=/usr --enable-fpm --enable-force-cgi-redirect
- make
- make install
復(fù)制代碼 (4) 復(fù)制php.ini
cp php.ini-dist /usr/local/php-cgi/etc/php.ini
(5) 復(fù)制php到系統(tǒng)目錄
cp /usr/local/php-cgi/bin/php /usr/bin/
(6) 修改/usr/local/php-cgi/php-fpm.conf 63-66行左右
把- <value name="user">nobody</value>
- <value name="group">nogroup</value>
復(fù)制代碼 這兩行前后的注釋去掉,不然運(yùn)行php-cgi的時(shí)候會(huì)報(bào)錯(cuò)
“[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'”
這樣的話,差不多php、php-fpm都安裝好了
4、啟動(dòng)php-fpm
寫道
/usr/local/php-cgi/sbin/php-fpm start
五、配置nginx
php、php-fpm安裝好了之后,需要對(duì)nginx進(jìn)行一些配置,使之能夠編譯php文件
1、編輯nginx.conf
把下列配置加入到文件中,加入到keepalive_timeout 65; 這行的下面,不過不加也可以,但是這些貌似都是優(yōu)化參數(shù),具體作用偶也不太清楚- -、,當(dāng)然不加也可以的
寫道- fastcgi_connect_timeout 300;
- fastcgi_send_timeout 300;
- fastcgi_read_timeout 300;
- fastcgi_buffer_size 64k;
- fastcgi_buffers 4 64k;
- fastcgi_busy_buffers_size 128k;
- fastcgi_temp_file_write_size 128k;
- gzip on;
- gzip_min_length 1k;
- gzip_buffers 4 16k;
- gzip_http_version 1.0;
- gzip_comp_level 2;
- gzip_types text/plain application/x-javascript text/css application/xml;
- gzip_vary on;
復(fù)制代碼 2、添加nginx鏈接
個(gè)人習(xí)慣是通過添加nginx include鏈接來添加對(duì)應(yīng)的web界面,可以在nginx.conf最后一個(gè)大括弧之前添加類似一行
寫道
include /usr/local/web/nginx.conf;
再進(jìn)入到/usr/local/web/下面創(chuàng)建一個(gè)文件,文件名為nginx.conf,內(nèi)容如下
寫道- server {
- listen 80;
- server_name laibulai.iteye.com;
- index index.html index.htm index.php;
- root /usr/local/web;
- location ~ .*\.(php|php5)?$
- {
- #fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include /usr/local/web/fcgi.conf;
- }
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- expires 30d;
- }
- location ~ .*\.(js|css)?$
- {
- expires 1h;
- }
- }
復(fù)制代碼 其中有個(gè)fcgi.conf文件,可以直接從nginx的conf目錄下復(fù)制過來
寫道
cp /usr/local/nginx/conf/fastcgi.conf /usr/local/web/fcgi.conf
名字無所謂,對(duì)應(yīng)即可
3、啟動(dòng)nginx
寫道
/usr/local/nginx/sbin/nginx
ok,差不多就是這樣了
|