Linux下Nginx、MySQL、PHP5、phpMyAdmin安装与配置
以前在Linux下,只配過LAMP,沒嘗試過Nginx,這次換個口味嘗試一下,中間遇到了一個比較無語的小錯誤浪費了很長時間(下面會說到)。總體來說還算比較順利吧,不過安裝PHP的目的只是為了用phpMyAdmin,所以對PHP的版本等方面都沒有要求,如果要求PHP版本是5.2的還需要額外操作。配置好之后,安裝了Discuz! X2.5,簡單看了下沒有什么問題。
1.環境
OS:Ubuntu 13.04 64bits
2.安裝Nginx
sudo apt-get install nginx
配置文件在/etc/nginx下
程序文件在/usr/sbin/nginx下
日志文件在/var/log/nginx下
網站目錄在/usr/share/nginx/html下,注意:需要為目錄樹加寫權限:sudo chmod -R 777 /usr/share/nginx/html
并已經在/etc/init.d/下創建了啟動腳本nginx
啟動nginx的命令:sudo /etc/init.d/nginx start
然后就可以訪問通過http://localhost/訪問了。如果看到Welcome to nginx!,下面一大片英文,則代表安裝成功。否則,請到日志文件查看錯誤原因。
3.安裝MySQL
sudo apt-get install mysql-server mysql-client
安裝過程中,會要求輸入兩次root的密碼。
此外,需要執行以下操作,才能解除只有本地可以訪問的限制:
在/etc/mysql/my.cnf找到:bind-address 127.0.0.1,在這一行前加#注釋掉。
4.安裝PHP5
這里安裝了很多組件,其中php5-fpm是FastCGI Process Manager,是Nginx配合PHP所必須使用的。php5-mcrypt是phpMyAdmin需要使用到的。
sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql php5-gd php-apc php5-common
5.配置Nginx使配合PHP5
5.1 /etc/nginx/nginx.conf
可以根據需要修改這兩個變量的值:worker_processes,keepalive_timeout。
5.2 /etc/nginx/sites-available/default
1.找到index,添加index.php。
2.找到server_name,改為你所希望的域名(準確,正則,glob),當然也可以配置server里的其他屬性,如監聽端口號listen等。
3.找到如下一段(這是Nginx配合PHP的部分):
nginx配合php(修改前)
| 1234567891011 | #location ~ \.php$ {#?????? fastcgi_split_path_info ^(.+\.php)(/.+)$;#?????? # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini##?????? # With php5-cgi alone:#?????? fastcgi_pass 127.0.0.1:9000;#?????? # With php5-fpm:#????????fastcgi_pass unix:/var/run/php5-fpm.sock;#????????fastcgi_index index.php;#????????include fastcgi_params;#} |
修改為:
nginx配合php(修改后)| 1 2 3 4 5 6 7 8 9 10 11 | location ~ \.php$ { #?????? fastcgi_split_path_info ^(.+\.php)(/.+)$; #?????? # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # #?????? # With php5-cgi alone: #?????? fastcgi_pass 127.0.0.1:9000; #?????? # With php5-fpm: ????????fastcgi_pass unix:/var/run/php5-fpm.sock; ????????fastcgi_index index.php; ????????include fastcgi_params; } |
注意:千萬不要忘了取消掉前后大括號所在行的注釋!我就是在這里耽誤了很久時間的。
此外,要注意fastcgi是使用的9000端口,還是sock的形式。網上很多教程都是用的9000端口那行,而在我的實際操作中發現netstat -nat | grep php得到的是sock這種。我這里安裝的PHP版本是5.4的,不知其他版本情況。
4.刪除如下一段的注釋(下面為刪除后的代碼):
location ~ /\.ht
| 123456 | # deny access to .htaccess files, if Apache's document root# concurs with nginx's one#location ~ /\.ht {????????deny all;} |
6.測試Nginx與PHP
創建探針文件phpinfo.php,放到Nginx網站根目錄下。
phpinfo.phpPHP| 1 | <?php phpinfo(); ?> |
重啟Nginx服務器:sudo /etc/init.d/nginx restart。
進入http://localhost/phpinfo.php,查看探針文件。
7.phpMyAdmin的安裝
從phpMyAdmin的sf主頁上下載最新版本的phpMyAdmin(點擊進入)。
將得到的壓縮文件放到/usr/share/nginx/html中,解壓即可(可以根據自己的需要修改目錄名字)。注意:phpMyAdmin目錄需要權限為755,否則顯示“配置文件權限錯誤,無法寫入!”。
可以將phpMyAdmin根目錄下的config.sample.inc.php復制一份并改名為config.inc.php,即可作為默認的配置文件。
可以通過配置文件對驗證方式進行修改,這里就不多介紹了。需要注意的是,如果使用cookie驗證方法,則必須在blowfish_secret后面填上任意字母作為短語密碼,如果留空會在登陸后報錯。
其他部分可以保持不變,也可以根據自己需求修改。
總結
以上是生活随笔為你收集整理的Linux下Nginx、MySQL、PHP5、phpMyAdmin安装与配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx同时支持asp.net与php
- 下一篇: ubuntu discuz mysqli