系统环境为阿里云的云服务器,系统为Ubuntu 16.04。
先更新apt源。
apt update
可以通过 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
再次执行 apt list | grep php7 命令就可以发现列表中已经包含有7.2版本的包了。
安装php7.2
apt install php7.2
安装完成,执行 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
能够输出版本号就代表安装成功。
上述安装php命令会自动安装apache2服务,可以通过 service apache2 status 查看
service apache2 status
service apache2 stop
apt remove apache2*
apt autoremove
安装Nginx
apt install nginx
安装完成后,可以执行 service nginx status 命令查看nginx运行状态
Nginx转发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
向default文件写入以下内容
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;
}
}
至此配置完成,现在可以在站点根目录下创建index.php文件,写入以下内容:
<?php echo 1;
保存后,打开配置的 domain.cn 域名,正确看到输出内容后就代表配置成功。
开始安装Mysql8
Ubuntu的apt安装方式里面没有8.0的版本,所以需要自己下载。进入https://dev.mysql.com/downloads/repo/apt/,然后点击下方的Download按钮开始下载。
下载完成之后将下载的以.deb结尾的文件直接拖入终端命令行,这时系统会提示你安装软件,按照提示命令安装即可。
apt install lrzsz
安装完成后再次拖入文件到终端命令行。然后执行以下命令
dpkg -i mysql-apt-config_0.8.13-1_all.deb
运行命令后,终端会弹出选择界面,直接选择第一个即可,然后点击回车按钮。
然后会提示选择版本,直接选择默认的即可,直接回车
然后会继续弹出界面,选择OK,然后回车即可。
然后执行以下命令进行系统源的更新,可能花费时间较长。
apt upgrade
apt update
完成之后就可以在apt列表里面看见mysql 8.0的包了,开始安装Mysql8,执行以下命令
apt install mysql-server
第一步会让你输入密码,然后确认密码。确认密码成功之后会弹出界面让你选择加密方式,这里选择第二个5.x版本的,然后点击回车
如果没有异常提示的话,至此Mysql8.0就安装完成了。可以输入以下命令,然后输入密码来测试是否安装成功
mysql -u root -p