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

相关文章
相关标签/搜索