今天周末沒事 搗鼓了一陣子nginx
參考:http://my.oschina.net/jiec/blog/295369
註:安裝php5.6+可能需要更改fpm.conf配置
源列表:http://wiki.ubuntu.org.cn/Qref/Source
1.刪除xampp檔案夾
sudo mv /opt/lampp /home
2.更新源
sudo apt -get install update
3.安裝nginx
sudo apt-get install nginx
如果安裝apache
sudo apt-get install apache2 apache2-doc
sudo apt-get install php5 libapache2-mod-php5
4.測試Nginx
sudo /etc/init.d/nginx start
訪問127.0.0.1 => welcome to Nginx
5.安裝MySQL
卸載mysql:http://www.cnblogs.com/steven_oyj/archive/2010/05/24/1742808.html
1. sudo apt-get install mysql-server
2. sudo apt-get install mysql-client
3. sudo apt-get install libmysqlclient-dev
測試 sudo mysql -uroot -p
dpkg:處理 mysql-server (--configure)時出錯:
依賴關係問題 - 仍未被配置
遭遇問題: E: Sub-process /usr/bin/dpkg returned an error code (1)
解決:
方案1 -- 親測無效
在刪除mysql前 需要先刪除一下 /var/lib/mysql 還有 /etc/mysql
方案2
1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old//現將info檔案夾更名
2.$ sudo mkdir /var/lib/dpkg/info //再建立一個新的info檔案夾
3.$ sudo apt-get update, apt-get -f install //不用解釋了吧
4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old//執行完上一步操作後會在新的info檔案夾下產生一些檔案,現將這些檔案全部移到info_old檔案夾下
5.$ sudo rm -rf /var/lib/dpkg/info //把自己建立的info檔案夾刪掉
6.$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info //把以前的info檔案夾重新改回名字
6.安裝PHP
sudo apt-get install php5-fpm php5-mysql
錯誤:apt-get install php5時報錯: 沒有可用的軟體包,但是它被其他軟體包引用了
用“sudo apt-cache search php ”查詢軟體倉庫中的php版本號碼,然後再"sudo apt-get install php-查詢到的版本號碼 " 進行安裝。
7.配置PHP,修改php.ini檔案
# 備份php.ini檔案
cp /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.back
# 取消有安全隱患的pathinfo模式
vim /etc/php5/fpm/php.ini
# 將cgi.fix_pathinfo=1 設定為 cgi.fix_pathinfo=0
cgi.fix_pathinfo=0
#啟動php-fpm
sudo service php5-fpm restart
8.配置Nginx讓其使用php-fpm進程
#備份/etc/nginx/sites-available/default檔案
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.back
#修改defalut檔案內容如下--親測
line 36: "root /home/xxx/xxx;"
line 39: edit to "index index.html index.htm index.nginx-debian.html index.php;"
line 51: location ~ \.php$ { // remove comment
line 52: include snippets/fastcgi-php.conf; // remove comment
line 57: fastcgi_pass unix:/var/run/php5-fpm.sock; // remove comment
line 58 } // remove comment
附:
可加入以下
location / {
#try_files $uri $uri/ =404;
if (!-e $request_filename){
rewrite /(.*?)$ /index.php;
}
}
//重新導向添加index.php
9.重啟nginx伺服器
sudo service nginx restart
10.在/home/xxx/xxx/裡面建立info.php寫入如下內容
<?phpphpinfo();?>瀏覽器輸入: http://localhost/info.php
11.安裝php相關擴充(xdebug,memcache,oauth等)
1)安裝curl
sudo apt-get install php5-curl
2)安裝gettext:
sudo apt-get install php-gettext
3)安裝gd庫:
sudo apt-get install php5-gd
4)安裝mcrypt:
sudo apt-get install php5-mcrypt
5)安裝memcache
a)安裝伺服器:
sudo apt-get install memcached
memcached -d -m 50 -p 11211 -u root
-m指定使用多少兆的緩衝空間(這裡50) -p指定要監聽的連接埠 (11211) -u指定哪個使用者使用(root)
b)安裝php模組
sudo apt-get install php5-memcache
6)安裝oauth:基於pecl的
a)sudo apt-get install php5-dev php-pear libpcre3-dev
sudo pecl install oauth(要確保linux系統裡可以make)
b)修改設定檔
sudo vi /etc/php5/fpm/php.ini
在最後添加
?