zoukankan      html  css  js  c++  java
  • LinuxMint/Ubuntu 安装Nginx+PHP7+Mysql

    1. 安装Nginx

    要安装Nginx首先要将官方的项目源添加到系统中:

    可以直接在/etc/apt/sources.list文件中添加, 也可以在/etc/apt/sources.list.d中新建一个nignx.list文件并将项目源添加进去.

    ## 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的就可以这样写:

    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就好了.

    不过在安装过程中,  终端提示安装失败,  比给出一段信息:

    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

    提示没有公钥,  每个机器的公钥可能不一样,  不过不要紧,   只需要在终端执行下面的代码便可以:

    ## 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. 安装php7

    在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

  • 相关阅读:
    [2013-08-19] nohup的使用
    HttpParser 相关链接文章
    CKEditor禁用浏览服务器的功能
    (转载)MySQL删除所有表的外键约束、禁用外键约束
    js Object扩展自定义方法,jQuery抛出 Uncaught TypeError: matchExpr[type].exec is not a function
    Javascript 占位符替换
    Springboot 抛出Failed to determine a suitable driver class异常原因
    jpa CriteriaQueryNo explicit selection and an implicit one could not be determined
    Spring ModelAttribute注解失效原因
    Spring Data Jpa 更新操作
  • 原文地址:https://www.cnblogs.com/DolphWang/p/7484544.html
Copyright © 2011-2022 走看看