mysqlnginxphp
1、更新 1 sudo apt-get update 2、安裝nginx 1 sudo apt-get intsall nginx Ubuntu安裝之後的文件結構大致為: * 所有的配置文件都在/etc/nginx下,並且每個虛擬主機已經安排在了/etc/nginx/sites-available下 *程序文件在/usr/sbin/nginx * 日誌放在了/var/log/nginx中 *並已經在/etc/init.d/下創建了啟動腳本nginx * 默認的虛擬主機的目錄設置在了/var/www/nginx-default 下面可以啟動nginx來看看效果(請確保80埠沒有其他服務在使用): 1 sudo /etc/init.d/nginx start #或者簡單的 1 service nginx start 然後打開瀏覽器,查看localhost/ 看看是否看到了」Welcome to nginx!」 如果看到了,說明安裝成功. 當然,基本上,這塊兒都不會出問題. 如果運行不成功,可以先 1 sudo killall apache2 殺掉apache進程 3、安裝php 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 4、安裝spawn-fcgi 為什麼要安裝spawn-fcgi呢,它用來控制php-cgi進程,以防止進程崩潰或是單進程的效率太低. 網上很多人都說要使用spawn-fcgi必須得安裝lighttpd,實際上不必要,可以直接安裝spawn-fcgi 運行: 1 sudo apt-get install spawn-fcgi 5、配置 接下來就是最讓人頭疼的配置. 配置Nginx和spawn-fcgi配合運行 (1).在/etc/nginx/fastcgi_params 文件最後,加入一行,可以用 1 sudo vi /etc/nginx/fastcgi_params 加入此行: 1 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; (2).另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位於/etc/php5/cgi/php.ini)中,找到cgi.fix_pathinfo選項,修改為: 1 cgi.fix_pathinfo=1; 這樣php-cgi方能正常使用SCRIPT_FILENAME這個變數. (3).打開/etc/nginx/sites-available/default文件在 1 2 3 server { listen 80; server_name localhost; 下面添加web根目錄的絕對地址,這里是使用的是nginx的默認地址 1 root /var/www/nginx-default 即root和server_name同級這段即相當於apache的默認目錄 如果沒有這個的話,容易在執行php 文件的時候,會提示」No input file specified」. 我就曾在此繞了好大個圈子才發現問題.然後修改 1 2 3 4 5 6 #location ~ .php$ { #fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #includefastcgi_params; #} 修改成 1 2 3 4 location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include /etc/nginx/fastcgi_params; #包含fastcgi的參數文件地址 6、開始fast_cgi進程 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 7、設置開機啟動fastcgi進程並啟動 1 sudo vi /etc/rc.local 添加下一行 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 如果打開php文件出現:No input file specified請檢查php.ini的配置中 1 cgi.fix_pathinfo=1 1 doc_root= 還有,每個虛機要根據自己不同的虛機設置不同的目錄,要保證這個路徑正確. 檢查/etc/nginx/sites-available下的配置文件中,server內包含 root 及地址 而非location內的root 啟動 1 fast-cgisudo /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文件測試一下了 8、安裝mysql 1 sudo apt-get install mysql-server mysql-client 中間會提示輸入Root用戶密碼,依次輸入即可. 啟動MySQL 1 sudo /etc/init.d/mysql start 測試mysql服務是否正常: 運行 1 mysql -uroot -p 輸入mysql密碼 1 show databases; 如果看到下面的內容 Database information_schema mysql 則mysql已正確安裝了. 至此,ubuntu下的nginx+php+mysql就安裝完成了.
B. windows下怎麼搭建nginx+php+mysql
1、首先需要准備的應用程序包。
nginx:nginx/Windows-1.0.4
php:php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式運行,所以我們下載非線程安全也就是nts的php包)
(還會用到)RunHiddenConsole:RunHiddenConsole.zip
2、安裝與配置。
1)php的安裝與配置。
直接解壓下載好的php包,到D盤wnmp目錄(D:\wnmp),這里把解壓出來的文件夾重命名成php5。進入文件夾修改php.ini-recommended文件為php.ini,並用Editplus或者Notepad++打開來。找到
extension_dir = "./ext"
更改為
extension_dir = "D:/wnmp/php5/ext"
往下看,再找到
;extension=php_mysql.dll
;extension=php_mysqli.dll
前面指定了php的ext路徑後,只要把需要的擴展包前面所對應的「;」去掉,就可以了。這里打開php_mysql.dll和php_mysqli.dll,讓php支持mysql。當然不要忘掉很重要的一步就是,把php5目錄下的libmysql.dll文件復制到C:\Windows目錄下,也可以在系統變數裡面指定路徑,當然這里我選擇了更為方便的方法^_^。
C. php,nginx,mysql哪個先安裝
nginx->php->mysql
這樣省掉一些麻煩。
D. nginx+php 必須安裝mysql嗎
不需要
mysql是一個資料庫,如果業務中沒有數據需要存儲,則不需要資料庫
如果只是html靜態頁面,連php都可以不安裝
E. Nginx跟php和mysql資料庫怎麼連接的
nginx 通過libevent 建立了網路連接池,通過nginx的 fast_cgi配置 (fastcgi_pass ip:port),用tcp 127.0.0.1:9000 方式連接 或者 unix socket unix:///var/run/unix.sock 方式 連接,php 與mysql 通過 php _ mysql* 擴展,實現的tcp連接 (可以持久連接或非持久連接)
F. 伺服器,mysql,php,nginx,ftp之間什麼關系各是負責哪方面的工作
第一個伺服器的是硬體吧,一台電腦或者大型機什麼的,現在的伺服器一般是用的Linux的操作系統,用戶通過連接到這台伺服器接收信息,是網頁的基礎設施。
mysql是資料庫。可以理解為硬碟上的一塊區域,專門存放各種數據,比如用戶信息,舉個例子就是騰訊用戶的QQ號和密碼之類的。
php是語言,用於編寫應用程序,諸如接收用戶信息和響應,連接到資料庫(mysql),就是用PHP寫的。
nginx是伺服器軟體。用於發布。將應用程序(PHP寫的)通過該軟體才能更方便的給用戶使用。
ftp是文件服務,專門負責文件傳輸的。
G. 如何在windows下搭建Nginx+MySQL+PHP環境
第一步:在D盤建立文件夾Nginx+php+Mysql,路徑為:D:\Nginx+php+Mysql
第二步:安裝Nginx,安裝目錄為:D:\Nginx+php+Mysql\nginx
1.打開D:\Nginx+php+Mysql\nginx目錄,運行該文件夾下的nginx.exe
2.測試是否啟動nginx。打開瀏覽器訪問http://localhost 或 http://127.0.0.1,看看是否出現「Welcome to nginx!」,出現的證明已經啟動成功了。
若啟動不成功,查看是否埠被佔用。
安裝PHP,安裝目錄為:D:\Nginx+php+Mysql\php
安裝mySQL,安裝目錄為: D:\Nginx+php+Mysql\mysql
第三步:修改Nginx的conf文件:目錄為D:\Nginx+php+Mysql\nginx\conf
文件名為:nginx.conf
1. 去掉worker_processes前的#號,開啟一個進程
2. 添加events
3. 設置http->設置server->支持php
H. 如何在Ubuntu 14.04安裝MySQL,Nginx,PHP
1、首選在編譯安裝MySQL的時候指定兩個參數使用utf8編碼。
2、次選在配置文件my.cnf或my.ini設定兩個參數,同時設置init_connect參數。
3、第三在配置文件my.cnf或my.ini設定兩個參數,同時客戶端的連接指定set names命令。
4、在配置文件my.cnf里的client和server處加入default-character-set參數方便管理。