Ubuntu20.x搭建LNMP环境Linux安装Nginx+php+mysql

本文将记录搭建LNMP环境的所有细节, 方便日后查看.

最终效果:

主机:windows10

虚拟机:virtualBox

系统:Ubuntu20.04

WEB服务器:Nginx1.8.x

动态程序语言:Php7.4.x

数据库:MySQL8.x

Ubuntu桌面

本人小白一枚, 曾在远程centos上部署过lnmp环境.最近, 想在自己电脑上搭个开发环境,就试试Ubuntu吧.

整个过程还是蛮艰辛的,花了我48个小时.如果去掉吃饭/喝茶/上厕所时间,整个面对电脑的时间长达十几个小时.为什么花了这么长时间? 可能因为整个过程是单线程的, 你只能一步一步往下走, 无法跳过其中某个步骤.如果踩中某个坑,你只能跳出来继续前进.而我,作为新手, 就踩了几个巨坑.


阅读前声明:一些超级简单, 几乎不会产生意外结果的步骤会简单带过,懂的请略过,如果不懂请自行百度解决.

`$ 开头的句子 代表普通用户输入的命令

`# 开头的句子 代表root权限输入的命令

如果命令语句中包含中文, 代表该中文需要被替换为你自己的东西.比如

        本文展示的命令是: chown 用户名 /var/www

        实际的输入命令是: chown fory /var/www

        其中fory是我自己的用户名,你替换为自己的名字就好,比如tom , Michael 什么的.


第一步:下载安装虚拟机.

下载地址:https://www.oracle.com/cn/virtualization/technologies/vm/downloads/virtualbox-downloads.html

点击 [windows安装程序] 下载

下一步...安装

第二步:安装Ubuntu

下载Ubuntu

下载地址:https://ubuntu.com/

点击顶部 [DOWNLOAD]  下载

得到文件 ubuntu-20.04.1-desktop-amd64.iso

安装Ubuntu到virtualBox

鼠标右键 管理员权限启动VirtualBox

左上角 [新建] >> 输入名称 >> 类型选 Linux >> 版本选 Ubuntu(64-bit) >>

内存给默认或2048MB随你喜欢 >> 

勾选 现在创建虚拟硬盘 >>

默认勾选 VDI >>

勾选 固定大小 >>

选择自己电脑上的一个空白文件夹(有SSD的放在SSD盘上), 硬盘大小最少给20GB 如图

(鄙人第一次只给了默认10GB, 结果很快就满了,泪目)

右键Test虚机

设置内存 核心数 显存 网络选桥接 >>

(桥接会把虚机直接连到路由器上, 如果选NAT就只是能上网)

双击或点绿色→启动Test虚机 >>

选择启动盘为 上一步骤下载的ISO文件 >>

选择安装的语言为中文 >>

取消勾选 下载更新..  >>

(可以等装完再更新,否则非常慢)

设置登录用户名密码  >>

漫长的等待...

提示拔掉光盘重启  >>

点击虚机上方菜单 设备>分配光驱>移除虚拟盘  >>

确定重启

大功告成.

第三步:LNMP安装前准备

实现主机和虚机粘贴板共享

点击打开终端 >>

进入管理员模式 >>

`$ sudo -i

`# apt install gcc perl make

点击虚机菜单 [设备] > 安装增强功能 > 确定运行

装好之后就可以从自己电脑上复制东西粘贴到虚机里面了.这里必须先装gcc等, 否则安装增强功能会失败.

更换国内源

`# gedit /etc/apt/sources.list

在最前面添加:  


deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse


点击保存 关闭

更新apt

`# apt upgrade

第四步:安装Nginx

`# apt install nginx

装完之后就会自动启动Nginx服务,而且是开机启动那种.

第五步:安装php

`# apt install php php-fpm

装完之后也会自启动

前方高能预警.

添加php扩展

就是这一步,卡了我一整天, 对于小白来说鬼知道你们怎么给包起名呢, 鬼知道这些个包属于哪些个包,经过漫长的探索,终于找到了核心解决方案.这个方案就是Ubuntu家的包搜索引擎:

https://packages.ubuntu.com/

下面以安装pdo_mysql扩展为例:

一开始,我是盲猜安装命令 apt install php-pdo_mysql , 结果当然是各种不行.正确做法是:

打开上面的搜索页,选择第二个搜索引擎输入pdo_mysql

然后搜索得到下面的结果

一看就懂了, 不是安装php-pdo_mysql, 而是安装php-mysql就包含了pdo_mysql这个包.

`# apt install php-mysql

完事!

第六步: 安装mysql

`# apt install mysql-server

会自启动

第七步:配置Nginx勾搭php

前方高能预警.

把Nginx配置文件的所有者改成自己,而不是默认的root

`# chown -R 用户名 /etc/nginx/sites-enabled

改完之后, 就可以像windows那样, 去编辑配置文件了:

添加一个php站点

用文件管理器打开目录 /etc/nginx/sites-enabled >>

右键在终端打开  >>

新建你的站点配置文件  >>

`$ touch 配置文件名称

鼠标双击打开这个配置文件, 添入:


server {

listen 80;

root /var/www/配置文件名称;

index index.php;

server_name 你的域名;

location / {

try_files $uri $uri/ =404;

}

location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

}

}


保存, 关闭x

至此, 我没有动过默认安装配置一下, 已经可以用了, 

为什么还是不行?

记得重启下Nginx使配置生效!

`# nginx -s reload


全剧终 The end !




别忘了在生产环境, 把你chown夺权过的文件都还给root...

时间不早了, 还有文件权限相关的东西 下次再说吧

你可能感兴趣的:(Ubuntu20.x搭建LNMP环境Linux安装Nginx+php+mysql)