前排提示:
本篇博客篇幅较长,建议结合目录进行阅读!
目录:
环境说明:
Linux:ubuntu 20.04
Nginx:1.18
Mysql:8.0
PHP:7.3
前言:
什么是LNMP?简单来说,就是网站的运行环境,即L(Linux) +N(Nginx) +M(Mysql/MariaDB)+P(php/Perl/Python),这四类开源软件技术,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
现在有软件能很方便地安装LNMP环境,比如宝塔面板,优点就是简单快捷,对于使用者的技术要求不高,适合没有基础的非专业人士建站使用,但同时由于过于方便,在建站中反而学习不到多少相关的技术,因此我在建站过程中果断弃用宝塔面板,选择自己手动搭建LNMP环境。
当时搭建LNMP环境的过程中,网上找了很多资料和博客都是良莠不齐,同时也踩了不少坑,不过好在最后还是搭建成功了,所以就把整个过程整理整理记录下来,防止以后遗忘。
不想自己折腾的小伙伴可以直接安装宝塔面板一键安装LNMP环境,不同版本的Linux系统安装宝塔命令的命令不同,相关方法可以查阅我的另一篇博客:Linux系统安装宝塔面板。
以下就是ubuntu环境中我配置LNMP环境的全过程:
一、安装nginx
引用相关百科中的内容简单介绍一下nginx: nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
安装nginx的命令很简单,就一句话:
sudo apt install nginx
安装完之后,访问服务器IP地址,即可访问到Nginx
的初始页面:
二、安装php及部分组件
sudo apt install php-common php-cli php-fpm php-mysql php-mbstring php-curl php-gd php-twig php-json php-opcache php-readline
此命令没有指定版本,默认安装的是最新版本的php和组件,如果要安装旧版本的php,参照以下方法:
# 1.添加仓库:
sudo apt install software-properties-common
# sudo apt install python-software-properties
sudo add-apt-repository ppa:ondrej/php
# 2.更新软件源
sudo apt update
# 3.安装指定版本php
sudo apt install php[版本号]-common php[版本号]-fpm php[版本号]-mysql php[版本号]-mbstring php[版本号]-curl php[版本号]-gd php[版本号]-json php[版本号]-opcache php[版本号]-readline
三、配置Nginx文件
第一步中,我们已经能够成功访问Nginx页面了,此时再次配置Nginx文件,使其可以处理php页面。
关于Nginx文件的配置,我也是在网上查了很多东西才有点头绪的(所以就想多哔哔几句)。
一般来说(适用于在ubuntu环境下使用apt命令安装的nginx),nginx的配置文件是/etc/nginx目录下的nginx.conf,这个文件中的配置信息可以用include语句
从其他目录引入配置文件。其中,这个目录(/etc/nginx
)下的sites-enabled文件夹就是被引入的,同目录下还有一个名为sites-available的文件夹,这两个文件夹的作用是不同的,简单介绍一下。sites-available文件夹里面放的是不生效的网站配置文件,sites-enabled文件夹里是目前生效的网站配置文件。在默认未修改的情况下,sites-available文件夹中存放了一个nginx静态页面的配置文件default,对应sites-enabled文件夹中放的是default这个文件的软连接(不知道什么是软连接的同学点这里,简单说就是类似于快捷方式),这样一来就能访问到默认页面了。
所以,就可以这样修改配置文件,即需要建立新站点时,在sites-available中新建一个配置文件(文件名不做要求),在这个文件中写入站点的配置信息并保存,然后在sites-enabled文件夹中建立指向这个配置文件的软连接,即可完成配置。当然,有聪明的小伙伴肯定能想到,为什么要这么麻烦呢,直接更改sites-enabled下的配置文件不行么,那当然是可以了,接下来的配置方法就是基于这个思路的。
哔哔了这么多,现在就开始吧:
# 直接在sites-enabled文件夹下面进行编辑
cd /etc/nginx/sites-enabled
# 删除/etc/nginx/sites-enabled文件夹中的默认配置文件
sudo rm default
用touch
命令在这个文件夹中新建一个配置文件website,然后进行编辑
# 新建配置文件
sudo touch website
# 编辑这个配置文件
sudo nano website
将下面的配置直接粘贴到这个文件中,关于这段配置的含义及修改方法,下面注释中做了简单说明,更详细的配置可以参考这篇文章:nginx 配置详解(新手必看)
# HTTP服务配置
server {
listen 80;
# www.langp.wang改为你的域名或者“_”
server_name www.langp.wang;
# 存放网站文件的根目录,/var/www/html是nginx静态文件所在的默认目录,这里新建一个文件夹website来放新的网站文件
root /var/www/html/website;
# 以下的配置信息基本可以不用改了,复制过去就能用
index index.html index.htm index.php;
location / {
try_files $uri $uri/ =404;
}
# 加入php的配置,使服务器可以处理php网页
location ~ \.php$ {
#include snippets/fastcgi-php.conf;
# 使用php-fpm(或其他unix套接字):
fastcgi_pass unix:/run/php/php-fpm.sock;
# 使用php-cgi(或其他tcp套接字):
#fastcgi_pass 127.0.0.1:9000;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 引入fastcgi的配置文件
include fastcgi_params;
}
}
修改完成后,ctrl + o保存,ctrl + x退出,然后使用以下命令重启Nginx
服务,使配置生效:
sudo nginx -s reload
# 或者
sudo service nginx reload
Nginx
配置完了,现在来看是否配置成功,在网站根目录/var/www/html/website(或者是你配置文件中自定义的网站根目录)下新建一个文件index.php,在里面键入:
<?php phpinfo(); ?>
然后保存退出。
如果前面配置都没问题的话,现在用浏览器访问服务器ip地址或者解析后的域名就能访问到本机安装的关于php的信息了:
四、安装配置Mysql
Mysql就不用多说了,大名鼎鼎的关系型数据之一。
1. 输入以下命令安装:
sudo apt install mysql-server
2. 修改Mysql加密方式,并修改密码
安装完成之后,先登录mysql:
sudo mysql -uroot -p
接下来提示输入密码,直接按回车即可进入
然后修改mysql加密方式和密码:
# 对于的mysql 8以上,使用以下命令更改mysql8的加密方式,为root用户更改密码:
alter user 'root'@'localhost' identified with mysql_native_password by '新密码';
# mysql 8以下:
update mysql.user set plugin='mysql_native_password';
update mysql.user set password=password("新的密码") where user='root';
#或者
set password for root@localhost=password('新的密码');
# 我们也还可以使用mysqladmin命令来进行修改
mysqladmin -u root -p '旧密码' password '新密码';
alter user root@localhost identified by '新密码';
修改完之后,刷新权限信息,输入:
flush privileges;
然后输入exit
退出mysql控制台,重新登录mysql,使用刚才的密码就能进入数据库了。
五、上传网站文件
在网站根目录下,将前面测试用的“index.php”文件删除。
然后将网站文件通过FTP工具或者其他手段上传到nignx配置文件中设置的根目录下,在浏览器输入域名或者IP地址,就能访问到网站了。
六、安装配置phpMyAdmin
到这里,LNMP环境算是安装完了。但是目前只能用命令行方式管理数据库,为了减轻我们的工作量,我们需要安装一个图形界面工具来管理数据库。phpMyAdmin就是这样一个图形化的工具,可以直接在网页端管理数据库,当然,如果有其他数据库工具,这一步可以不安装。
phpMyAdmin的安装命令同样很简单:
sudo apt install phpmyadmin
安装过程中会弹出来几个界面选择:
由于我们安装的服务器软件是nginx
,所以这里的apache2
和lighttpd
都不选,直接按Esc退出;
选择yes
输入一个密码
再次输入密码确认,安装就算完成。
安装完成后还要把phpMyAdmin
连接到nginx
服务器根目录上,因此建立软连接:
sudo ln -s /usr/share/phpmyadmin /var/www/html/website
此时在浏览器中访问:域名/phpmyadmin/index.php
,即可访问到phpmyadmin的登陆页面:
用mysql的帐号密码即可登录管理数据库。
到这里LNMP环境的搭建就算是全部完成了,把相应的网站文件上传到设置好的网站的根目录下,用域名或者ip地址进行访问。
另:如果你跟我一样都是安装typecho框架,还需要给博客设置伪静态,typecho博客若不进行此设置,则会出现只能访问首页却访问不了后台和文章的问题。设置方法:typecho设置伪静态规则 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com)
评论 (0)