在unbuntu系统搭建lnmp环境,并配置certbot服务

在unbuntu系统搭建lnmp环境,并配置certbot服务

Ezra
2024-09-10 / 2 评论 / 38 阅读 / 正在检测是否收录...

作为新手来说,在自己的电脑上有小皮面板帮助搭建的集成环境,在服务器上有宝塔面板来搭建环境,这让我们很快能过渡到学习php的阶段,但是回过头来却对如何搭建一个lnmp环境却迷迷糊糊,这篇文章记录一下我是如何搭建的lnpm环境

购买服务器

这里推荐雨云服务器,1块钱可以试用一天但是一周只能一次哦,自己有服务器的可以划走~
最好选上独立IP,这样可以直接解析域名,雨云貌似也有免费域名这里因为我自己有就没有配置
m0vxisvf.png

Nginx安装

在安装 Nginx 前先执行下更新命令

sudo apt-get update

然后下载安装nginx

sudo apt-get install nginx

m0w0nxuk.png
如果遇到 Could not get lock /var/lib/dpkg/lock-frontend 可以重启雨云服务器试试
启动nginx服务

sudo systemctl start nginx

查看nginx版本

sudo nginx -v

安装执行完之后浏览器打开你解析的域名,出现welcome to nginx代表成功

安装PHP

sudo apt -y install php-fpm

m0w1284q.png

配置Nginx服务

找到/etc/nginx/sites-enabled下的default文件
将里面的注释改为下图的样子(具体php版本看你装的是哪个)
m0w18432.png
随后在你网站的根目录下创建index.php
m0w1aqpy.png
m0w1cl95.png
文件内容随便echo点什么
然后启动php服务

sudo systemctl start php7.4-fpm

修改过nginx配置后都要重启nginx服务,如果遇见问题可以用 nginx -t查看哪里出了问题

sudo systemctl restart nginx.service

此时打开你的网站应该是你刚才写的index.php中echo的内容
m0w1meky.png

配置certbot

certbot官网https://certbot.eff.org/

//安装certbot
sudo snap install --classic certbot
//准备certbot命令
sudo ln -s /snap/bin/certbot /usr/bin/certbot
//为想要获取证书的网站添加证书
sudo certbot --nginx -d yuyun.ezrayes.com

其中会停下来要求你提供一个邮箱,输入后回车就好
m0w1y7af.png
成功后如图
m0w22363.png

配置mysql

//安装mysql服务器
sudo apt install mysql-server
sudo apt install mysql-client
//执行如下命令检查mysql是否正常运行
sudo service mysql start
sudo service mysql status

m0w5nnca.png

设置外部访问数据库

修改MySql配置文件

  • 打开MySQL的配置文件 my.cnf(通常位于 /etc/mysql/ 目录下)。
  • 找到 [mysqld] 部分,将 bind-address 设置为 0.0.0.0 以允许监听所有IP地址。
  • 保存并关闭文件

重启MySql

  • 在Linux系统上,使用命令 sudo systemctl restart mysql 或 sudo service mysql restart 来重启MySQL服务。

创建远程访问用户

  • 登录MySQL服务器:mysql -u root -p
  • 授权远程访问:GRANT ALL PRIVILEGES ON . TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
  • 刷新权限:FLUSH PRIVILEGES;

配置防火墙

  • 确保MySQL的默认端口(3306)在服务器的防火墙中是开放的。
  • 在Linux上,如果你使用 ufw,可以使用命令 sudo ufw allow 3306/tcp 来开放端口。
  • 如果你在云服务器上,确保云服务提供商的安全组规则也允许访问3306端口。

可以先创建一下数据库

SHOW DATABASES;
USE mydatabase;
CREATE TABLE employees (
  id INT AUTO_INCREMENT,
  first_name VARCHAR(50) NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  birth_date DATE,
  hire_date DATE,
  department VARCHAR(50),
  PRIMARY KEY (id)
);
0

评论 (2)

取消
  1. 头像
    exqdumjaiw
    Windows 10 · Google Chrome

    你的文章内容非常用心,让人感动。http://www.trrlzy.com

    回复
  2. 头像
    bdgjfbeckj
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.cscnn.com/

    回复