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...

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容