Ubuntu16.04 安装 php7.2 Nginx Mysql8 + Ubuntu安装nginx_php7以及配置index.php启动

转载 https://www.cnblogs.com/Yatces/p/11388811.html

转载 https://blog.csdn.net/qq_31953961/article/details/90079814

转载 https://blog.csdn.net/u012954706/article/details/85704288

Ubuntu版本信息:

root@yatces-virtual-machine:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=“Ubuntu 16.04.5 LTS”

安装nginx版本:

nginx-1.11.3

1.安装nginx依赖库

1.1安装pcre依赖库

root@yatces-virtual-machine:~# apt-get install libpcre3 libpcre3-dev

1.2安装zlib依赖库
root@yatces-virtual-machine:~# apt-get install zlib1g-dev
1.3安装ssl依赖库
root@yatces-virtual-machine:~# apt-get install openssl
2.安装nginx

2.1下载最新版本
root@yatces-virtual-machine:/usr/local/soft# wget http://nginx.org/download/nginx-1.11.3.tar.gz
2.2解压

root@yatces-virtual-machine:/usr/local/soft# tar -zxvf nginx-1.11.3.tar.gz

2.3进入nginx目录配置

root@yatces-virtual-machine:/usr/local/soft# cd nginx-1.11.3/
2.4配置(先创建文件夹:/usr/local/nginx)
root@yatces-virtual-machine:/usr/local/soft/nginx-1.11.3# ./configure --prefix=/usr/local/nginx
可以通过./configure --help查看需要配置的参数

复制代码
root@yatces-virtual-machine:/usr/local/soft/nginx-1.11.3# ./configure --help

–help print this message
–prefix=PATH set installation prefix
–sbin-path=PATH set nginx binary pathname
–modules-path=PATH set modules path
 …
复制代码
2.5编译、安装

root@yatces-virtual-machine:/usr/local/soft/nginx-1.11.3# make

root@yatces-virtual-machine:/usr/local/soft/nginx-1.11.3# make install
如果make的时候报错,提示“pcre.h No such file or directory”,需要安装 libpcre3-dev依赖。

2.6启动nginx

安装完后在/usr/local/nginx/sbin目录下有个nginx命令

root@yatces-virtual-machine:/usr/local/nginx/sbin# ls
nginx
启动

root@yatces-virtual-machine:/usr/local/nginx/sbin# ./nginx
后面可以加上-c 指定配置文件的位置,不加nginx会自动加载默认配置文件。

root@yatces-virtual-machine:/usr/local/nginx/sbin# ./nginx -c /usr/local/nginx/conf/nginx.conf
查看nginx进程

root@yatces-virtual-machine:/usr/local/nginx/sbin# ps -ef|grep nginx
root 11975 1 0 14:57 ? 00:00:00 nginx: master process ./nginx
nobody 11976 11975 0 14:57 ? 00:00:00 nginx: worker process
root 11978 11883 0 14:57 pts/2 00:00:00 grep --color=auto nginx
访问nginx

Ubuntu16.04 安装 php7.2 Nginx Mysql8
系统环境为阿里云的云服务器,系统为Ubuntu 16.04。

先更新apt源。

apt update
1
可以通过 apt list | grep php7 命令查看是否有php7.2的包,默认是没有的,只有7.0的。

由于官方的源没有7.2版本的php,所以要添加额外的源,依次执行以下命令。

apt-get install software-properties-common python-software-properties 
add-apt-repository ppa:ondrej/php
apt update
1
2
3
再次执行 apt list | grep php7 命令就可以发现列表中已经包含有7.2版本的包了。

安装php7.2

apt install php7.2
1
安装完成,执行 php --version 查看是否安装成功

root@iZbp1e720rsobv4u9x7y85Z:~# php --version
PHP 7.2.18-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May  3 2019 09:23:41) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.18-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
1
2
3
4
5
能够输出版本号就代表安装成功。

上述安装php命令会自动安装apache2服务,可以通过 service apache2 status 查看

service apache2 status
1

卸载apache2,依次执行以下命令

service apache2 stop
apt remove apache2*
apt autoremove
1
2
3
安装Nginx

apt install nginx
1
安装完成后,可以执行 service nginx status 命令查看nginx运行状态


开始配置Nginx让其能支持PHP。

Nginx转发php请求的详细流程自行百度,这里只是简单介绍一下工作原理。

Nginx作为web服务器通过80端口来负责监听http请求,监听到有请求就直接交给PHP的fpm模块进行处理。
PHP的fpm模块负责监听请求(可以通过端口也可以通过sock套接字,由配置文件决定)。监听到请求之后交给php解释器来执行php代码。
所以现在需要知道PHP的fpm模块的监听路径,fpm的配置文件是位于 /etc/php/7.2/fpm/ 目录下的 php-fpm.conf 文件,这个文件并没有监听配置文件,但该文件最后一行引入了外部配置文件 include=/etc/php/7.2/fpm/pool.d/*.conf,表示引入pool.d目录下的所有以.conf结尾的文件作为配置文件,查看该目录,只有一个www.conf文件。该文件配置了监听路径:

通过该图得知,fpm监听路径为 /run/php/php7.2-fpm.sock,这个在配置Nginx时需要用到。

开始配置Nginx,安装好的Nginx主配置文件是位于 /etc/nginx/ 目下的nginx.conf文件。

该配置文件中又引入了 /etc/nginx/sites-available 目录下的所有文件来作为配置文件,所以可以直接在 /etc/nginx/sites-available 目录下编写自定义的访问配置文件。

将 sites-available 目录下的default文件改个名字,然后新建个default文件来作为自定义配置文件

mv default default2
vim default
1
2default文件写入以下内容

server {
	#指定让Nginx监听哪个端口
    listen       80;
    #指定访问域名,也就是用这个域名访问时会用这个配置文件
    server_name  domain.cn;
    #指定存放站点的根目录路径
    root         /web/domain;
    #执行顺序
    index index.html index.htm index.php;
    #拦截所有请求,用于伪静态去掉index.php
    location / { 
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=$1  last;
            break;
        }
    }
    #拦截所有.php结尾的请求,交给 fastcgi_pass 选项指定的文件处理,这里就是PHP fpm模块监听的路径,前面要加个unix:
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
至此配置完成,现在可以在站点根目录下创建index.php文件,写入以下内容:

 echo 1;
1
保存后,打开配置的 domain.cn 域名,正确看到输出内容后就代表配置成功。

开始安装Mysql8

Ubuntu的apt安装方式里面没有8.0的版本,所以需要自己下载。进入https://dev.mysql.com/downloads/repo/apt/,然后点击下方的Download按钮开始下载。


下载完成之后将下载的以.deb结尾的文件直接拖入终端命令行,这时系统会提示你安装软件,按照提示命令安装即可。


执行以下命令安装所需软件。

apt install lrzsz
1
安装完成后再次拖入文件到终端命令行。然后执行以下命令

dpkg -i mysql-apt-config_0.8.13-1_all.deb
1
运行命令后,终端会弹出选择界面,直接选择第一个即可,然后点击回车按钮。

然后会提示选择版本,直接选择默认的即可,直接回车

然后会继续弹出界面,选择OK,然后回车即可。

然后执行以下命令进行系统源的更新,可能花费时间较长。

apt upgrade
apt update
1
2
完成之后就可以在apt列表里面看见mysql 8.0的包了,开始安装Mysql8,执行以下命令

apt install mysql-server
1
第一步会让你输入密码,然后确认密码。确认密码成功之后会弹出界面让你选择加密方式,这里选择第二个5.x版本的,然后点击回车

如果没有异常提示的话,至此Mysql8.0就安装完成了。可以输入以下命令,然后输入密码来测试是否安装成功

mysql -u root -p
1

如果看见上图则代表安装成功,可以用PHP进行连接了
————————————————
版权声明:本文为CSDN博主「骑小猪追公牛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_31953961/article/details/90079814

你可能感兴趣的:(Ubuntu16.04 安装 php7.2 Nginx Mysql8 + Ubuntu安装nginx_php7以及配置index.php启动)