Ubuntu Linux配置Nginx+MySQL+PHP+phpMyAdmin详细步骤
博主之前一直用的是apache,隨著網站負荷量增高,感覺apache稍微有點力不從心了。隨著nginx越來越流行,而且其功能強大,博主準備采用nginx作為自己的服務器啦。
每當到了環境配置的時候,博主便會去網上各種搜集資料,然而感覺他們講的都條理不一,有的地方并不符合自己的配置習慣,所以博主習慣自己配置的同時把配置過程總結一下,方便自己,也方便大家。
好,接下來我們就開始我們的環境配置之旅吧。
Nginx
1.更新源
sudo apt-get update| 1 | sudo apt-get update |
2.安裝nginx
sudo apt-get install nginx| 1 | sudo apt-get install nginx |
3.檢查是否安裝成功
輸入localhost或者遠程地址,若出現Welcome To Nginx則證明安裝成功。
如果沒有看到,可以運行
sudo killall apache2| 1 | sudo killall apache2 |
殺掉apache進程,因為可能80端口被占用了。
4.更改運行目錄
默認的nginx目錄是/usr/share/nginx/html,我們將其修改為/var/www,當然可以根據個人習慣靈活更改。
修改/etc/nginx/sites-available/default文件
root /usr/share/nginx/html;| 1 | root /usr/share/nginx/html; |
更改為
root /var/www| 1 | root /var/www |
再將
index index.html index.htm;| 1 | index index.html index.htm; |
更改為
index index.html index.php index.htm;| 1 | index index.html index.php index.htm; |
重啟nginx
sudo service nginx restart| 1 | sudo service nginx restart |
我們在/var/www目錄下新建index.html文件,寫入一些測試文字。
重新訪問localhost或者遠程地址,可以看到剛才設置的index.html文件中的內容,說明目錄已經更改成功了。
PHP
安裝PHP以及相關擴展。
sudoapt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl| 1 | sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl |
執行上述指令即可。
此時有的小伙伴想要測試運行PHP文件了,然而很悲劇地告訴你是不可以的,因為你還沒有配置fastcgi,繼續往下看。
MySQL
執行如下命令,安裝MySQL服務端和客戶端。
sudo apt-get install mysql-server mysql-client| 1 | sudo apt-get install mysql-server mysql-client |
在安裝時可能提示你輸入root用戶的密碼,設置即可。
phpMyAdmin
執行如下命令,安裝phpMyAdmin。
sudo apt-get install phpmyadmin| 1 | sudo apt-get install phpmyadmin |
創建軟連接
sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin| 1 | sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin |
我們將創建一個根目錄為/var/www,鏈接名為phpmyadmin的文件,指向/usr/share/phpmyadmin
spawn-fcgi
1.安裝fastcgi
sudo apt-get install spawn-fcgi| 1 | sudo apt-get install spawn-fcgi |
2.配置fastcgi
修改 /etc/nginx/fastcgi_params文件,增加下面一行
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;| 1 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; |
修改/etc/php5/cgi/php.ini文件,將下面一行取消注釋
cgi.fix_pathinfo=1;| 1 | cgi.fix_pathinfo=1; |
這樣php-cgi方能正常使用SCRIPT_FILENAME這個變量
修改/etc/nginx/sites-available/default文件,我們之前修改的目錄地址是/var/www,將
#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;#}| 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; ????#} |
修改為
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;fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;include fastcgi_params;}| 1 2 3 4 5 6 7 8 9 10 11 12 | ????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; ????????fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; ????????include fastcgi_params; ????} |
3.開啟fastcgi進程
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid| 1 | sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid |
參數含義如下
* -f 指定調用FastCGI的進程的執行程序位置,根據系統上所裝的PHP的情況具體設置
* -a 綁定到地址addr
* -p 綁定到端口port
* -s 綁定到unix socket的路徑path
* -C 指定產生的FastCGI的進程數,默認為5(僅用于PHP)
* -P指定產生的進程的PID文件路徑
* -u和-g FastCGI使用什么身份(-u 用戶 -g 用戶組)運行,Ubuntu下可以使用www-data,其他的根據情況配置,如nobody、apache等現在可以在web根目錄下放個探針或php文件測試一下了
運行結果類似如下
spawn-fcgi: child spawned successfully: PID: 11775| 1 | spawn-fcgi: child spawned successfully: PID: 11775 |
4.設置開機啟動fastcgi
修改/etc/rc.local文件,添加下面一行
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid| 1 | /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid |
修改完之后,重啟nginx
sudo service nginx restart| 1 | sudo service nginx restart |
我們可以在/var/www目錄下新建index.php文件測試運行,發現已經可以運行PHP文件了。
測試運行
所有配置已經完畢,現在我們輸入localhost和localhost/phpmyadmin便可以輕松加愉快地訪問了。
如有問題,歡迎交流。
轉載請注明:靜覓 ? Ubuntu Linux配置Nginx+MySQL+PHP+phpMyAdmin詳細步驟
總結
以上是生活随笔為你收集整理的Ubuntu Linux配置Nginx+MySQL+PHP+phpMyAdmin详细步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络探究二之利用PHP实现登录验证
- 下一篇: Python爬虫实战六之抓取爱问知识人问