Ubuntu 18.04.1 下快速搭建 LNMP环境(PHP7.2.5+MySql5.7+Nginx1.14.0)

Posted hangzhounec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 18.04.1 下快速搭建 LNMP环境(PHP7.2.5+MySql5.7+Nginx1.14.0)相关的知识,希望对你有一定的参考价值。

在Linux环境下,搭建LNMP环境,大家以前或多或少都做过相关的操作,但是随着软件的更新,phpmysql不断的升级,以往很多比较老的教程,都已经无法完成这个搭建环境的任务了,今天偶然有兴趣在最新的Ubuntu18.04上搭建LNMP环境,本来感觉挺容易的,但是在实际操作过程中,遇到一个个坑,真是让人哭笑不得,所以写这篇心得,主要是分享在搭建过程中遇到的一些问题进行了整合,来给后入进行排雷。

首先展示搭建成功后的页面

 

技术分享图片
PHP安装成功
技术分享图片

MySQL安装成功

来,现在我们开始进行搭建

   1.Nginx的安装

nginx安装是属于最简单的,只需要在命令行执行 

sudo apt-get install nginx

  就能自动安装 Nginx,其中过程中需要 选择 Y/n 的选择Y就行了,当安装结束后再执行下列代码,重启Nginx服务器

sudo service nginx restart

 

然后通过用Ubuntu自带火狐浏览器访问 localhost,如果出现Nginx的欢迎页面,就代码Nginx安装成功

  2:MySQL的安装

由于咱们使用的Ubuntu18.04,如果直接不选MySQL版本的话,则自动安装最新的MySQL,所以,在此次安装中,就自动安装了MySQL5.7;

执行命令如下:

sudo apt-get install mysql-server mysql-client 

 

虽然我看到很多教程上说,在安装过程中会出现设定MySQL初始密码的的步骤,不过我在安装过程中,属实是什么都没发生,就是这个,导致后面有些坑的出现。

在安装完成后,执行下面命令:

mysql -u root -p

 

然后要求你输入密码,如果之前设置,则输入设置好的。

如果没设置,就要开始进入下个坑了,出现下列报错:

ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘

 

这个错误,简单的说,就是密码错了,但是你没设置过,怎么会错呢,这个就是MySQL自身会设置的随机密码的问题了,解决方法就是重新设置新的root密码,但是问题在于,如果进入MySQL中去。我在这过程中有两种方法进入MySQL命令行里,

第一种如下:

sudo mysql

 

通过管理员权限,直接进入。

第二种如下:

关闭正在运行的 MySQL :
service mysql stop

运行命令:
mysqld_safe --skip-grant-tables &

 

以上两种方法,如果执行成功,则会成功进入MySQL的命令行中,

技术分享图片

然后就开始进行修改root密码的操作了:

mysql> use mysql;
mysql> update mysql.user set authentication_string=PASSWORD(‘新密码‘), plugin=‘mysql_native_password‘ where user=‘root‘;
mysql>flush privileges;

 

这一步主要是在设置新密码的时候,顺便把用户root的plugin进行修改,修改为默认的 mysql_native_password,然后在刷新权限设置。

在执行成功后,重启MySQL,然后再执行一次上面连接数据库命令:

sudo service mysql restart 
mysql -u root -p

 我这样解决掉MySQL的使用问题的。

  3:PHP7.2.5安装

我直接执行如下命令:

sudo apt-get install php7.2 php7.2-fpm php7.2-mysql

三个命令一起执行,直接把php相关的各种软件和拓展直接安装成功。

4:配置Nginx解析PHP

首先修改你Nginx配置文件,执行命令:

sudo vim /etc/nginx/sites-available/default

修改41行如下图:

技术分享图片

 修改56行到63行如下:

技术分享图片

然后执行命令,重启Nginx:

sudo service nginx restart

 

 接下来我们修改PHP相关配置文件:

sudo vim /etc/php/7.2/fpm/pool.d/www.conf

在37行加入替换代码:

技术分享图片

修改之后,我们重启php7.2-fpm

sudo service php7.0-fpm start

然后咱们在/var/www里面新建info.php文件

info.php代码如下:

技术分享图片

然后在浏览器打开:localhost/info.php 效果如下:

技术分享图片

 

然后咱们在/var/www里面新建mysql.php文件,

mysql.php代码如下:

<?php echo ‘<h1>Page loaded with PHP!</h1>‘;
$conn = mysqli_connect(‘localhost‘, ‘site_admin‘, ‘your_password‘);

if(!$conn){
    die(‘<h2>Error: </h2>‘ . mysqli_connect_error());
}else{
    echo ‘<h2>Successfully Connected to MySQL Database!</h2>‘;
}
?>

然后在浏览器打开:localhost/mysql.php 效果如下:

技术分享图片

 

自此,咱们的搭建环境,大功告成,万里长征中的一小步,希望大家能获得经验,如果有多的疑问,大家在互相交流一下。

 





以上是关于Ubuntu 18.04.1 下快速搭建 LNMP环境(PHP7.2.5+MySql5.7+Nginx1.14.0)的主要内容,如果未能解决你的问题,请参考以下文章

自定义shell脚本快速搭建LNMP环境(Ubuntu16.04 LTS / PHP7.0)

ubuntu下搭建lnmp

ubuntu下搭建LNMP开发环境

Ubuntu系统下lnmp环境的搭建

Ubuntu系统下lnmp环境搭建和Nginx多站点配置

ubuntu16.04下 搭建 lnmp 环境