Skip to main content

2 posts tagged with "Debian"

View All Tags

· 6 min read
CheverJohn

博客内容简述

本篇博客主要是新手入门OpenResty的必经之路,也将是很多人第一次写lua脚本代码。内容包括如下:

  1. 使用Debian-wsl安装OpenResty。
  2. 在命令行运行输出“HelloWorld”。
  3. 使用VSCode连接Debian-wsl,且运行Helloworld项目,且能够通过OpenResty部署在本地服务器上,然后通过curl命令获取“HelloWorld”。

本地环境

Windows10 Pro: 21H1(OS Build 19043.1415)
Debian: 11(bullseye) x86_64
OpenResty: 因为按照官方文档在Debian系统中添加了OpenResty仓库,这样以后可以随时安装或更新软件包(目前我的理解就是一行命令的事情)

Debian-wsl上安装OpenResty

这个其实很是简单,在OpenResty的官方文档里就解释的很是详细,这边再简单过一下哈。

步骤一:安装导入GPG公钥时需要的几个依赖包

sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates

步骤二:导入我们的GPG密钥

wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -

步骤三:添加OpenResty的官方apt仓库

对于 x86_64amd64 系统,可以使用下面的命令:

codename=`grep -Po 'VERSION="[0-9]+ \(\K[^)]+' /etc/os-release`

echo "deb http://openresty.org/package/debian $codename openresty" \
| sudo tee /etc/apt/sources.list.d/openresty.list

而对于 arm64aarch64 系统,则可以使用下面的命令:

codename=`grep -Po 'VERSION="[0-9]+ \(\K[^)]+' /etc/os-release`

echo "deb http://openresty.org/package/arm64/debian $codename openresty" \
| sudo tee /etc/apt/sources.list.d/openresty.list

这边我需要说一下哈,第一次看到这个其实很难理解。但是我们只需要照做就是了,也就是将这两行命令一次paste进命令行里即可。

我这边因为是上午就完成了,已经找不到了,就先不上图了哈。

步骤四:更新 APT 索引:

sudo apt-get update

然后就可以像下面这样安装软件包,比如 openresty

sudo apt-get -y install openresty

这个包同时也推荐安装 openresty-opmopenresty-restydoc 包,所以后面两个包会缺省安装上。 如果你不想自动关联安装,可以用下面方法关闭自动关联安装:

sudo apt-get -y install --no-install-recommends openresty

PS:这里边就离谱,我都跑完命令了,然后告诉我可以关闭自动关联安装,淦。

命令行跑“Hello world”

第一次跑通的命令是这样的 hhhh

命令行最简单Helloworld

对比一下Python的运行代码

Python与OpenResty的比较

一串代码稍稍揭露OpenResty本质

虽然好像还是阻止了进程,但是还是可以一瞥一二的。

OpenResty的本质

VSCode连接Debian-wsl

构建开发工作环境

其实只需要VSCode安装两个插件就行了

VSCode安装两个插件

其中Lua插件甚至还可以给wsl上安装,MS是真的把这个wsl玩透了。

然后就可以继续在Debian-wsl上创建目录,目录如下:

Debian-wsl上的目录

进而在conf文件夹创建nginx.conf

![nginx.conf in conf](/img/2022-01-10-OpenResty_Helloworld_in_Debian/nginx.conf in conf.png)

然后这边一定要注意的是,将OpenResty加入到PATH环境中; 方法如下:

PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH

这样就可以如愿将OpenResty加入到PATH环境中; 然后启动OpenResty服务

openresty -p `pwd` -c conf/nginx.conf

曲折的启动OpenResty服务

从这张图就可以很容易地看出来,我犯了至少两个错误

  • 没有配置OpenResty的环境变量
  • 代码写错了呢呜呜呜~

但是这串代码其实可以看出来,我们写的第一个OpenResty程序,在根目录下新增OpenResty的content_by_lua指令,里面又嵌入了ngx.say的代码:

然后这个时候我们的OpenResty的服务已经成功启动了,可以使用curl命令,查看结果的返回:

result的返回

(当然前提是我使用openresty -p `pwd` -c conf/nginx.conf命令启动了OpenResty服务)

好嘞,第一个真正的OpenResty程序完成咯。

Inspired by chun's docs(看官方文档果然yyds鸭)

· 2 min read
CheverJohn

小知识点(未进行总结)

  1. 新安装的debian系统,root用户无法远程登录。

网络配置方面

网络配置一般是通过修改

/etc/network

路径的

interfaces文件的路径

interfaces文件,进行对网络的进一步配置的。

interfaces文件内容

配置完成后,要进行更新,更新命令如下

sudo ifdown wlan0 && sudo ifup wlan0

https://askubuntu.com/questions/333063/restart-network-interface-after-editing-etc-network-interfaces

可以查看上面链接进一步了解。

查看系统版本

root@DESKTOP-8VUVO1M:~# lsb_release -d
Description: Debian GNU/Linux 11 (bullseye)
root@DESKTOP-8VUVO1M:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
root@DESKTOP-8VUVO1M:~# cat /etc/issue
Debian GNU/Linux 11 \n \l

root@DESKTOP-8VUVO1M:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

以上大概就是熟知的几种方法咯,写个blog记录一下。

终于还是暂时放弃了Raspberry Pi4B

先暂时用wsl叭

wsl-debian