2020-05-30

ubuntu16.04 安装php7.1 Nginx Mysql5.7

一、安装php7.1
通过 apt list | grep php7 命令查看是否有php7.1的包,ubuntu16.04默认是有7.0的。

添加源
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update
再次执行 apt list | grep php7,就看到很多php7的版本了

安装
apt-get install php7.1
nginx使用php需要安装php7.1-fpm, 和一些php插件
sudo apt-get install php7.1-mysql php7.1-fpm php7.1-curl php7.1-xml php7.1-gd php7.1-bcmath php7.1-mbstring php-memcached php7.1-zip
安装完成,执行 php -v 查看版本

上述安装php命令会自动安装apache2服务,可以通过 service apache2 status 查看
卸载apache2,执行以下命令
sudo service apache2 stop
sudo apt remove apache2*
sudo apt autoremove

二、安装Nginx
sudo apt-get install nginx
nginx -v #看版本
service nginx status #查看状态

配置php-fpm 与nginx通讯方式
(1)第一种TCP端口方式
修改配置监听9000端口来处理nginx的请求(这种方法一般在windows上使用)
(2)第二种通过unix socket进程间通讯

通过命令 ps -ef| grep php 查看fpm配置文件位置
复制过来 cat /etc/php/7.1/fpm/php-fpm.conf 即可看到最后一行
进入 /etc/php/7.1/fpm/pool.d/ 目录
编辑一下www.conf文件,找到第36行,默认是第二种方式,可以注释一下添加一行第一种方式
;listen = /run/php/php7.1-fpm.sock #第二种
listen = 127.0.0.1:9000 #第一种

修改nginx配置/etc/nginx/sites-available/default (这个地方是默认的配置文件,也可以加在其他地方)
去掉下面代码前面的注释

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php7.0-cgi alone:
               fastcgi_pass 127.0.0.1:9000; #第一种
        #       # With php7.0-fpm:
        #        fastcgi_pass unix:/run/php/php7.1-fpm.sock; #第二种
        }

重启一下php-fpm 和 nginx
sudo service php7.1-fpm restart
sudo nginx -t
sudo nginx -s reload
浏览器访问ip 或者配置一下server_name那一行,把“_” 修改一个本地域名 比如 www.test.com,并在hosts文件绑定ip即可在浏览器访问www.test.com,不出意外就看到nginx的欢迎页了。

三、安装MySQL
sudo apt-get install mysql-server
过程中会让确认需要下载和占得空间大小之类的提示,按Y回车即可
然后弹出弹框提示给root账号设置密码,自己设定一个,选择ok回车,再输入一遍,ok即可,继续执行下面两个命令
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
装完后看一下是否成功了
sudo netstat -tap | grep mysql

接着就可以访问数据库了
mysql -uroot -p
输入你的密码

设置mysql允许远程访问
首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1

保存退出,然后进入mysql服务,执行授权命令:

grant all on *.* to root@’%’ identified by ‘你的密码‘ with grant option;
flush privileges;

然后执行quit命令退出mysql服务,执行如下命令重启mysql:
sudo service mysql restart
这样,我们的数据库就可以被远程连接了。

发表回复

Your email address will not be published. Required fields are marked *