LinuxMint/Ubuntu 安裝Nginx+PHP7+Mysql

1. 安裝Nginxphp

要安裝Nginx首先要將官方的項目源添加到系統中:html

能夠直接在/etc/apt/sources.list文件中添加, 也能夠在/etc/apt/sources.list.d中新建一個nignx.list文件並將項目源添加進去.mysql

## Replace $release with your corresponding Ubuntu release.
deb http://nginx.org/packages/ubuntu/ $release nginx
deb-src http://nginx.org/packages/ubuntu/ $release nginx

使用時要將上面的$release替換爲你的系統發行版本, 好比個人LinuxMint是基於xenial的就能夠這樣寫:nginx

deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx

添加完畢以後, 執行sudo apt-get update  更新一下項目源,  而後sudo apt-get install nginx就行了.sql

不過在安裝過程當中,  終端提示安裝失敗,  比給出一段信息:ubuntu

W: GPG error: http://nginx.org/packages/ubuntu xenial Release: The following signatures
couldn't be verified because the public key is not available: NO_PUBKEY AB23465345

提示沒有公鑰,  每一個機器的公鑰可能不同,  不過沒關係,   只須要在終端執行下面的代碼即可以:api

## Replace $key with the corresponding $key from your GPG error.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
sudo apt-get update
sudo apt-get install nginx

將上面的--recv-keys $key 中的$key替換成出現錯誤提示給出的公鑰就能夠,  個人公鑰就是AB23456345.  執行完畢Nginx就按裝完畢啦. 在終端種輸入/usr/bin/nginx或者nginx就啓動Nginx了,  在瀏覽器中訪問localhost就能夠看到Nginx的歡迎界面.瀏覽器

2. 安裝php7php7

在php.net官網下載php7.x.x 並解壓函數

tar zvxf php-x.x.x

進入到目錄而且執行源碼安裝

cd ../php-x.x.x
./configure --enable-fpm --with-mysql
make
sudo make install

若是出現Thanks  for using PHP 就說明安裝完成.

但個人在安裝過程當中出現了錯誤提示:

 configure: error:. Xml2-config not found Please check your libxml2 installation.

沒有libxml2的支持,  解決方法: apt-get install libxml2-dev 安裝完成重複configuse並make & make install.

安裝好php以後還有一些配置操做:

cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin

有些博客裏面說php-fpm.conf.default所在的目錄是/usr/local/etc/, 但個人在/usr/local/php/etc/  這裏,  百度了一下發現好多人問在/usr/local/etc裏面找不到php-fpm.conf.default文件,  看來多是安裝時configure不一樣致使的吧.

另外,  還有的人把php.ini目錄放在php的根目錄下,  而我放在根目錄下的lib文件裏面.  區別多是執行 ./configure的時候有沒有指定php.ini的位置: --with-config-file-path=/usr/local/php 若是configure的時候指定了config_file的路徑爲php的根目錄, 就能夠把php.ini放在根目錄, 不然默認爲讀取根目錄下php.ini做爲配置文件.

分配好php.ini的路徑以後, 修改裏面的cgi.fix_pathinfo選項: 去掉註釋, 將原值1改成0.做用是當文件不存在時阻止Nginx將發送到php-fpm模塊, 避免惡意的腳本注入.

另外, 安裝好Nginx和php以後學要, 還要配置Nginx的配置文件nginx.conf增長對php文件的支持:

 

location / {
    root   html;
    index  index.php index.html index.htm;
}

 

其中root爲你存放html和php文件的路徑, 例如個人爲 /usr/share/nginx/html;  index這一列種默認只有 index.html和index.htm, 手動添加index.php, 而後找到如下代碼

location ~* \.php$ {
  root html; fastcgi_index index.php; fastcgi_pass
127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }

去掉代碼的註釋, 並將root的目錄修改成本身網頁存放的路徑, 若是沒有root這一行能夠手動建立.

完成全部的動做後能夠啓動php-fpm: sudo  /usr/local/bin/php-fpm便可,啓動完畢後可用fpm默認的9000端口檢驗一下,   netstat  -tln |grep 9000,  看到端口被LISTEN則開啓fpm成功.

啓動fpm後重啓一下nginx: sudo nginx reload,  而後在文件目錄中建立一個 只有phpinfo()函數的index.php, 在瀏覽器種輸入localhost就能夠看到phpinfo(),  至此Nginx+PHP7的配置完成.  下一步就是安裝配置Mysql了.

 3. 安裝mysql

sudo apt-get install mysql-server mysql-client

*安裝中間會提示設置root密碼, 設置安裝完成後, 鍵入mysql -u root -p 進入mysql的命令行模式

*mysql安裝無誤以後,輸入sudo apt-get install php-mysql 使得php支持mysql

相關文章
相關標籤/搜索