Linux下Nginx、MySQL、PHP5、phpMyAdmin安装与配置
以前在Linux下,只配過LAMP,沒嘗試過Nginx,這次換個(gè)口味嘗試一下,中間遇到了一個(gè)比較無語的小錯(cuò)誤浪費(fèi)了很長時(shí)間(下面會(huì)說到)。總體來說還算比較順利吧,不過安裝PHP的目的只是為了用phpMyAdmin,所以對PHP的版本等方面都沒有要求,如果要求PHP版本是5.2的還需要額外操作。配置好之后,安裝了Discuz! X2.5,簡單看了下沒有什么問題。
1.環(huán)境
OS:Ubuntu 13.04 64bits
2.安裝Nginx
sudo apt-get install nginx
配置文件在/etc/nginx下
程序文件在/usr/sbin/nginx下
日志文件在/var/log/nginx下
網(wǎng)站目錄在/usr/share/nginx/html下,注意:需要為目錄樹加寫權(quán)限:sudo chmod -R 777 /usr/share/nginx/html
并已經(jīng)在/etc/init.d/下創(chuàng)建了啟動(dòng)腳本nginx
啟動(dòng)nginx的命令:sudo /etc/init.d/nginx start
然后就可以訪問通過http://localhost/訪問了。如果看到Welcome to nginx!,下面一大片英文,則代表安裝成功。否則,請到日志文件查看錯(cuò)誤原因。
3.安裝MySQL
sudo apt-get install mysql-server mysql-client
安裝過程中,會(huì)要求輸入兩次root的密碼。
此外,需要執(zhí)行以下操作,才能解除只有本地可以訪問的限制:
在/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
可以根據(jù)需要修改這兩個(gè)變量的值:worker_processes,keepalive_timeout。
5.2 /etc/nginx/sites-available/default
1.找到index,添加index.php。
2.找到server_name,改為你所希望的域名(準(zhǔn)確,正則,glob),當(dāng)然也可以配置server里的其他屬性,如監(jiān)聽端口號(hào)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; } |
注意:千萬不要忘了取消掉前后大括號(hào)所在行的注釋!我就是在這里耽誤了很久時(shí)間的。
此外,要注意fastcgi是使用的9000端口,還是sock的形式。網(wǎng)上很多教程都是用的9000端口那行,而在我的實(shí)際操作中發(fā)現(xiàn)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
創(chuàng)建探針文件phpinfo.php,放到Nginx網(wǎng)站根目錄下。
phpinfo.phpPHP| 1 | <?php phpinfo(); ?> |
重啟Nginx服務(wù)器:sudo /etc/init.d/nginx restart。
進(jìn)入http://localhost/phpinfo.php,查看探針文件。
7.phpMyAdmin的安裝
從phpMyAdmin的sf主頁上下載最新版本的phpMyAdmin(點(diǎn)擊進(jìn)入)。
將得到的壓縮文件放到/usr/share/nginx/html中,解壓即可(可以根據(jù)自己的需要修改目錄名字)。注意:phpMyAdmin目錄需要權(quán)限為755,否則顯示“配置文件權(quán)限錯(cuò)誤,無法寫入!”。
可以將phpMyAdmin根目錄下的config.sample.inc.php復(fù)制一份并改名為config.inc.php,即可作為默認(rèn)的配置文件。
可以通過配置文件對驗(yàn)證方式進(jìn)行修改,這里就不多介紹了。需要注意的是,如果使用cookie驗(yàn)證方法,則必須在blowfish_secret后面填上任意字母作為短語密碼,如果留空會(huì)在登陸后報(bào)錯(cuò)。
其他部分可以保持不變,也可以根據(jù)自己需求修改。
總結(jié)
以上是生活随笔為你收集整理的Linux下Nginx、MySQL、PHP5、phpMyAdmin安装与配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx同时支持asp.net与php
- 下一篇: ubuntu discuz mysqli