Fork me on GitHub

Ubuntu18.04下搭建LNMP教程-超详细图文(Nginx+MySQL+PHP含各种解决报错问题)

 笔者最近在VM15.0上安装了Ubuntu18.04,先来安装一个LNMP(Nginx+MySQL+PHP)网站服务器架构,为后续的实验做准备~ 
 
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。
L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
 
 操作系统:Ubuntu18.04
 版本:php 7.2.24  +  mysql 5.7 + nginx 1.14 
 
 目录: 
  1.更新源
  2.安装php7.2
  3.安装nginx
  4.安装mysql
  5.配置nginx解析php
  6.测试
 
 
 常见问题: 
  1.更新源报错?
  2.php7.2版本没有mcrypt?
  3.安装时没有设置mysql密码的情况下,怎么修改mysql密码?
  4.基础命令安装,例如:vim,net-tools等~
 
 
 笔者在安装过程中,也出现了很多问题,经过查阅很多资料以及借鉴了很多技术博客,笔者终于搭建好了LNMP环境。 
 
 
 
 
 
搭建好的结果图是这样的:
 
 
 
 

 
接下来,我们开始介绍搭建过程吧~
 
 
1.首先要更新
 
sudo apt-get update
sudo apt-get upgrade

 

 
 
sudo apt-get update
 
注:这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。我们在软件包管理器里看到的软件列表,都是通过update命令更新的。
 

 

sudo apt-get upgrade
 
注:这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。如果你的软件都是最新版本,会提示:升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
 
总而言之,update是更新软件列表,upgrade是更新软件。
 
 
 
 
 
问题一:你第一次执行这条命令的时候,很可能安装结束会报错(如下图),没关系,多执行几次此命令就好啦~
 
 
 
 
 
 
更新完成啦~
 
 
 
2.安装php
 
首先查看一下是否安装了php及版本
 
php -v

 

 
通过下图我们可以看到,没有安装php
那么我们安装php7.2(其他版本也可以,笔者这里安装的是php7.2版本)
 
sudo apt install php7.2-cli

 

 
 
安装完成后
再查看一下php版本
 
php -v
 
php7.2安装完成~
 
 
 
安装mcrypt,这是php7.2版本相比其他php低版本缺少的模块,后续也会用到,因此这里我们也需要安装~
 
我们如何安装mcrypt?首先,打开一个终端窗口并使用以下命令安装必要的依赖项:
 
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev

 

 
一旦安装了依赖项,就可以使用以下命令安装mcrypt:
sudo pecl install mcrypt-1.0.1

 

就这样简单,Mcrypt现已安装。你现在可以按照那些需要Mcrypt的软件了。
 
安装成功~
 
3.安装nginx
 
执行命令:
sudo apt-get install nginx

 

 
 
安装完成后,在Ubuntu18.04的浏览器中输入本机IP地址:80端口
 
 
问题二:如何查看本机ip?
 
在终端里输入命令  ifconfig
发现没找到命令,根据提示,安装net-tools
sudo apt install net-tools

 

安装完成后,再次输入ifconfig,你就可以看到自己的ip啦~
 
 
这个就是测试nginx安装成功的页面~
 
 
 
4.安装mysql
 
执行命令:
sudo apt-get install mysql-server mysql-client
sudo apt-get install php7.2-mbstring php7.2-mcrypt php7.2-mysql php7.2-xml

 

 
虽然我看到很多教程上说,在安装过程中会出现设定MySQL初始密码的的步骤。
不过我在安装过程中,真的是什么都没发生,为此,笔者以为是自己安装过程出了问题,卸载重装,结果就是这个问题,导致后面有些坑的出现。
 
mysql安装完成后
 
执行命令:
mysql -u root -p

 

 
会出现错误
 
 
问题三:如何在没有设置mysql密码的情况下,修改mysql密码?
 
 
 
当然,有些小伙伴没有安装vim,因此你需要先安装vim模块
sudo apt install vim

 

vim模块安装完成后
 
执行命令:
 
sudo vim /etc/mysql/debian.cnf

 

进入这个页面
 
 
把这个账户和密码记下来~
账户应该是一样的,密码每个人的都不一样哦~
 
在终端输入:
mysql -u你记下来的账户名(debian-sys-maint) -p你记下来的密码(ZBms.......PV这个是笔者的)

 

 
 
这样就进去了
 
接着给mysql设置密码
 
依次执行命令:
1 show databases;
2 use mysql;
3 update user set authentication_string=PASSWORD("你设置的密码") where user='root';
4 update user set plugin="mysql_native_password";
5 flush privileges;
6 quit;

 

 
 
 
 
好啦~这样就完成了mysql5.7的安装~
 
 
5.配置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.2-fpm start

 

 
 
然后在/var/www里面新建info.php文件
 
注:新建文件的命令  sudo touch info.php(你新建的文件)
 
写入代码:
 
 
保存退出
 
进入浏览器,localhost/info.php
 
成功~~~
 
 
然后在/var/www里面新建mysql.php文件
 
写入以下代码:
1 <?php echo ‘<h1>Page loaded with PHP!</h1>‘;
2 $conn = mysqli_connect(‘localhost‘, ‘site_admin‘, ‘your_password‘);
3  
4 if(!$conn){
5 die(‘<h2>Error: </h2>‘ . mysqli_connect_error());
6 }else{
7 echo ‘<h2>Successfully Connected to MySQL Database!</h2>‘;
8 }
9 ?>

 

 
 
叮咚~~
完成~
 
 
 
 
 
总结:在安装过程中还是遇到很多问题,不过还是一一解决了,感谢一些技术博客的教程给我提供了解决方案,不断成长,一起努力!
 
 
 
 
参考资料:
 
https://blog.csdn.net/u010953692/article/details/88761006
https://blog.csdn.net/ljflm/article/details/86543329
http://www.mamicode.com/info-detail-2327939.html
 
 
posted @ 2019-12-08 10:47  0yst3r  阅读(1108)  评论(3编辑  收藏  举报
返回顶部