標籤:
最近更換開發環境至ubuntu,整理開發環境和常用軟體的安裝配置
一.LAMP環境搭建
基於最新的Ubuntu14.04(2014年9月)搭建nginx、php、mysql環境,
以下全部命令列操作:
1,由於需要大量的許可權操作,方便起見臨時提升許可權,使用root帳號
sudo su
2,安裝apt源管理工具、添加nginx和php的安裝源
apt-get install python-software-properties
add-apt-repository ppa:nginx/stable
add-apt-repository ppa:ondrej/php5
3,更新系統軟體
apt-get update
4、安裝mysql
apt-get install mysql-server
註:在安裝過程中,會要求你輸入MySQL的root帳號的密碼。
5、安裝php及對mysql的支援
apt-get install php5 php5-fpm php5-mysqlphp-apc
6、根據實際需要,選擇性的安裝php的各類功能模組(具體請自行百度)
apt-get install php-pear php5-dev php5-curl
apt-get install php5-gd php5-intlphp5-imagick
apt-get install php5-imap php5-mcryptphp5-memcache
apt-get install php5-ming php5-ps php5-pspell
apt-get install php5-recode php5-snmpphp5-sqlite
apt-get install php5-tidy php5-xmlrpcphp5-xsl
7、安裝nginx
apt-get install nginx
8、配置php
vi /etc/php5/fpm/php.ini
找到:;cgi.fix_pathinfo=1
改為:cgi.fix_pathinfo=0
9、配置nginx
mkdir /www
chmod 775 /www
建立一個 /www 目錄設定為 755許可權
10、解決php-fpm與nginx的小bug
按上述步驟操作後,由於nginx與php-fpm之間的一個小bug,會導致這樣的現象:
網站中的靜態頁面 *.html 都能正常訪問,而*.php 檔案雖然會返回200狀態代碼,
但實際輸出給瀏覽器的頁面內容卻是空白。
簡而言之,原因是nginx無法正確的將
*.php 檔案的地址傳遞給php-fpm去解析,
相當於php-fpm接受到了請求,但這請求卻指向一個不存在的檔案,於是返回空結果。
為瞭解決這個問題,需要改動nginx預設的fastcgi_params設定檔:
vi /etc/nginx/fastcgi_params
在檔案的最後增加一行:
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
關於這行的內容,多說幾句,其中有兩個參數:
$document_root 即是指網站的根目錄,也就是我們在前面剛設定的root /www;
$fastcgi_script_name 則是指網站上的各個*.php 檔案名稱(其實是檔案的相對路徑)
這兩個合在一起形成完整的 php filepath,比如你的網站有個 /test/script.php檔案,
nginx傳遞給php-fpm的完整路徑就是:/www/test/script.php
我在前面說配置nginx時,寫成了root /www/; 這種寫法,對於nginx不成問題,
但它在向php-fpm傳遞php檔案路徑時,會形成:/www//test/script.php
這樣的檔案地址無效(擷取不到正確的php檔案),於是出現返回空白的問題。
這個問題是如此之隱蔽,以至於我花了大量時間在查看LOG、尋找資料和調整設定上。
11,重啟各項服務
service php5-fpm reload
service nginx reload
重新載入各項配置改動。
12、測試
vi /www/index.php
內容:
<?php echo phpinfo(); ?>
請開啟你的瀏覽器訪問:http://localhost若一切正常,將輸出php環境資訊,如:
二.nginx設定檔修改,配置虛擬機器主機
1.修改nginx.conf
vim /etc/nginx/nginx.conf
在該節點下include /etc/nginx/sites-enabled/*;
新增: include /etc/nginx/sites-available/*;
nginx -t 檢測檔案是否正確
刪除sites-enabled下的檔案
修改設定檔後,執行下列命令,載入新設定檔
nginx -s reload
停止nginx service nginx stop
啟動nginx service nginx start
2.虛擬機器主機配置
upstream backend{
server 192.168.0.110:9000;
server 192.168.0.113:9000;
}
server {
listen 80;
root /www/www.test.com;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name www.test.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
#root html;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
3.修改完成後修改/etc/hosts檔案 增加 127.0.0.1 server_name(虛擬機器主機名稱)
cd /etc/init.d ./networking restart 重啟網路服務
三 修改php設定檔
1.vim /etc/php5/fpm/pool.d/www.conf
注釋listen = /var/run/php5-fpm.sock
新增listen = 9000
四 安裝redis
安裝redis伺服器
apt-get install redis-server
安裝phpredis擴增
wget https://github.com/nicolasff/phpredis/zipball/master -O php-redis.zip
unzip php-redis.zip
phpize
./configure
make
make install
vim /etc/php5/fpm/php.ini 增加 extension=redis.so
重啟php服務 service php5-fpm restart
五 基礎軟體安裝
1.更改apt-get資源路徑
系統設定->軟體和更新->在軟體包管理中心“軟體源”中選擇“中國的伺服器”下mirros.aliyun.com即可自動使用
2.安裝chorme
wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
sudo dpkg -i google-chrome-stable_current_i386.deb
3.phpstorm
:http://www.jetbrains.com/phpstorm/
tar zxvf php.tar.gz
cd 目錄
cd bin
./phpstorm.sh
4.svn用戶端 rabbitvcs
add-apt-repository ppa:rabbitvcs/ppa
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 34EF4A35
apt-get update
sudo apt-get install python-nautilus python-configobj python-gtk2 python-glade2 python-svn python-dbus python-dulwich subversion meld
sudo apt-get install rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus3
4.filezilla
apt-get install filezilla
apt-get install filezilla-locales
5.qq
http://www.bubuko.com/infodetail-343048.html
ubuntu(烏班圖) web開發環境搭建,常用軟體安裝,配置LAMP(nginx,php,mysql),常用軟體 (ftp,redis)等安裝