LNMP 一键安装包,顾名思义就是用来快速搭建我们的 NGINX/MySQL/PHP 等生产环境的Shell程序。兼容性良好,支持 CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/······ 等常见系统。相比常见的宝塔或 AMH 等图形化控制面板,LNMP 一键安装包基本是命令操作。下面就稍微介绍一下如何用 LNMP 一键安装包来搭建我们的 Typecho 站点以及一些常见问题的解决办法
LNMP一键包官网
LNMP一键安装包 - CentOS/RadHat/Debian/Ubuntu下自动编译安装Nginx,PHP,MySQL,PHPMyAdmin
安装环境
一般站点基本都会选择 LNMP 作为生产环境,当然你也可以选择 LNMPA 或者 LNAP 作为生产环境
你可以参考官网的安装流程,当然也可以参考如下的操作流程
配置要求
摘抄自官网上的核心部分,如果还有疑问可至官网查看
- CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux 发行版
- 需要 5GB 以上可用空间,MySQL 5.7, MariaDB 10 至少 9GB 剩余空间,MySQL8.0 最新版至少 25GB 以上,如空间不够且是 x86 或 x86_64 架构 MySQL 可以选择 Generic Binaries 安装。
- 需要 128MB 以上内存(128MB 小内存 VPS, Xen 需有 SWAP, OpenVZ 至少要有 128MB 以上的vSWAP或突发内存),注意小内存请勿使用 64 位系统!
安装LNMP
检查screen命令
首先检查 screen
命令是否安装,SSH 登录后,测试命令 screen -S lnmp
,如果提示 screen: command not found
命令不存在可以执行:yum install screen
或 apt-get install screen
安装
一键安装命令
执行 screen -S lnmp 创建 screen 会话,防止 SSH 掉线导致安装进程出现问题
然后再执行命令如下:wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz -cO lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0 && ./install.sh lnmp
如需要安装 LNMPA 或 LAMP,将 ./install.sh 后面的参数 lnmp 替换为 lnmpa 或 lamp 即可。
+------------------------------------------------------------------------+
| LNMP V2.0 for Debian Linux Server, Written by Licess |
+------------------------------------------------------------------------+
| A tool to auto-compile & install LNMP/LNMPA/LAMP on Linux |
+------------------------------------------------------------------------+
| For more information please visit https://lnmp.org |
+------------------------------------------------------------------------+
You have 11 options for your DataBase install.
1: Install MySQL 5.1.73
2: Install MySQL 5.5.62 (Default)
3: Install MySQL 5.6.51
4: Install MySQL 5.7.42
5: Install MySQL 8.0.33
6: Install MariaDB 5.5.68
7: Install MariaDB 10.4.29
8: Install MariaDB 10.5.20
9: Install MariaDB 10.6.13
10: Install MariaDB 10.11.3
0: DO NOT Install MySQL/MariaDB
Enter your choice (1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or 0): 4
Using Generic Binaries [y/n]: y
You will install MySQL 5.7.42 Using Generic Binaries.
===========================
Please setup root password of MySQL.
Please enter:
MySQL root password:
===========================
Do you want to enable or disable the InnoDB Storage Engine?
Default enable,Enter your choice [Y/n]: y
You will enable the InnoDB Storage Engine
===========================
You have 9 options for your PHP install.
1: Install PHP 5.2.17
2: Install PHP 5.3.29
3: Install PHP 5.4.45
4: Install PHP 5.5.38
5: Install PHP 5.6.40 (Default)
6: Install PHP 7.0.33
7: Install PHP 7.1.33
8: Install PHP 7.2.34
9: Install PHP 7.3.33
10: Install PHP 7.4.33
11: Install PHP 8.0.28
12: Install PHP 8.1.19
13: Install PHP 8.2.6
Enter your choice (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13): 13
You will install PHP 8.2.6
===========================
You have 3 options for your Memory Allocator install.
1: Don't install Memory Allocator. (Default)
2: Install Jemalloc
3: Install TCMalloc
Enter your choice (1, 2 or 3):
No input,You will not install Memory Allocator.
Press any key to install...or Press Ctrl+c to cancel
首先会安装 MySQL,这里要求我们选择版本,RAM 低于 2G 以下的请考虑选择 MySQL 5.7 版本及其以下,当然也可以直接回车选默认配置。配置数据库 root 密码后,要求选择是否启用 InnoDB 存储引擎,这里默认选择启用。
- MySQL 8.0.23 以下版本升级或安装必须 CentOS 8+, Debian 9+, Ubuntu 16.04+ 且必须使用1.7+!!!
- MySQL 8.0.24 以上版本升级或安装必须 Debian 11+, Ubuntu 20.04+, Fedora 33+, CentOS 9 等 gcc 10+ 的版本且必须使用 1.9+ ,不满足要求请选择(Generic Binaries)二进制方式!!!
- MariaDB 10.*以上版本升级或安装必须 CentOS 8+, Debian 10+, Ubuntu 18.04+ 等 cmake 版本高于3的系统或自行升级 cmake!!!不满足要求使用 lnmp 2.0 选择(Generic Binaries)二进制方式。
接着会让我们选择 PHP 版本,一般选择 7.4 及其以上,当然选择 PHP 8.1 对于 Typecho 1.2 也没多大问题,接着要求选择是否安装内存优化,此处默认选择不安装。
NGINX 的版本默认选择的是最新稳定版本,截止目前是 1.24,若需安装其它版本如主线 mainline 可后期手动升级 /root/lnmp2.0/upgrade.sh nginx
检查无问题后按任意键开始安装,Ctrl + C 退出安装
编译过程一般大约在 20-30 分钟左右(如果安装 MySQL 8.0 及以上版本会花更长的时间),需要我们耐心等待,若中途 SSH 掉线,重新连接 SSH后可以使用 screen -r lnmp
命令查看安装进程
无人值守安装
LNMP一键安装包无人值守命令生成器,军哥的LNMP无人值守命令生成器,纯前端操作。设置好环境变量后可以实现完全无人值守安装的操作,适用在多台伺服器上安装LNMP或其他环境的情况
添加站点
LNMP 一键包提供强大的 LNMP 命令,lnmp vhost add
便是最常见的使用命令。
执行命令 lnmp vhost add
即可开始添加站点
+-------------------------------------------+
| Manager for LNMP, Written by Licess |
+-------------------------------------------+
| https://lnmp.org |
+-------------------------------------------+
Please enter domain(example: www.lnmp.org): microcharon.com
Your domain: microcharon.com
Enter more domain name(example: lnmp.org sub.lnmp.org): www.microcharon.com
domain list: microcharon.com www.microcharon.com
Please enter the directory for the domain: microcharon.com
Default directory: /home/wwwroot/microcharon.com:
Virtual Host Directory: /home/wwwroot/microcharon.com
Allow Rewrite rule? (y/n) y
Please enter the rewrite of programme,
wordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2,zblog rewrite was exist.
(Default rewrite: other): typecho
You choose rewrite: typecho
Enable PHP Pathinfo? (y/n) y
Enable pathinfo.
Allow access log? (y/n) y
Enter access log filename(Default:microcharon.com.log):
You access log filename: microcharon.com.log
Enable IPv6? (y/n) y
Enabled IPv6 Support in current Virtualhost.
Create database and MySQL user with same name (y/n) y
Enter current root password of Database (Password will not shown):
OK, MySQL root password correct.
Enter database name: typecho
Your will create a database and MySQL user with same name: typecho
Please enter password for mysql user typecho: your-pwd
Your password: your-pwd
Add SSL Certificate (y/n) y
1: Use your own SSL Certificate and Key
2: Use Let's Encrypt to create SSL Certificate and Key
3: Use BuyPass to create SSL Certificate and Key
4: Use ZeroSSL to create SSL Certificate and Key
Enter 1, 2, 3 or 4: 1
Please enter full path to SSL Certificate file: /usr/local/nginx/conf/ssl/microcharon.com/microcharon.com.crt
Please enter full path to SSL Certificate Key file: /usr/local/nginx/conf/ssl/microcharon.com/microcharon.com.key
Using 301 to Redirect HTTP to HTTPS? (y/n) n
DO not setting 301 Redirect.
Press any key to start create virtul host...
请注意,如果想要开启伪静态功能,则在 Allow Rewrite rule?
处选择是,并在下方选择 typecho
这里 Typecho 需要开启 PHP pathinfo,否则后台登录后 404
启用 IPV6 可选可不选,一般可以不选
数据库要求填写之前设定 root 的数据库密码,输入正确后要求输入创建的数据库名称,要创建的数据库用户名会与数据库同名
添加 SSL 证书,按自己需求添加,这里我选择添加自己手动申请的 TrustAsia SSL 证书(自己需要手动上传证书文件)
安装PHP扩展和组件(可选)
定位脚本目录,2.0 版本则在 /root/lnmp2.0/
中
# 启动脚本
./lnmp1.9/addons.sh
+-----------------------------------------------------------------------+
| Addons script for LNMP V1.9, Written by Licess |
+-----------------------------------------------------------------------+
| A tool to Install cache,optimizer,accelerator...addons for LNMP |
+-----------------------------------------------------------------------+
| For more information please visit https://lnmp.org |
+-----------------------------------------------------------------------+
##### cache / optimizer / accelerator #####
1: eAccelerator
2: XCache
3: Memcached
4: opcache
5: Redis
6: apcu
##### Image Processing #####
7: imageMagick
##### encryption/decryption utility for PHP #####
8: ionCube Loader
9: SourceGuardian Loader
##### PHP Modules/Extensions #####
10: Exif
11: Fileinfo
12: Ldap
13: Bz2
14: Sodium
15: Imap
16: Swoole
#################################################
exit: Exit current script
#################################################
Enter your choice (1, 2, 3, 4, 5, 6, 7, 8... or exit): exit
这种情况下直接输入对应数字即可安装对应扩展
或者进入 LNMP 解压后的目录 addons.sh {install|uninstall} {eaccelerator|xcache|memcached|opcache|redis|imagemagick|ioncube}
cd ./lnmp1.9
./addons.sh {install|uninstall} {eaccelerator|xcache|memcached|opcache|redis|imagemagick|ioncube}
# 安装opcache示例
./addons.sh install opcache
# 安装redis示例
./addons.sh install redis
# 安装imagemagick示例
./addons.sh install imagemagick
修改Typecho站点的NGINX配置文件
由于 Typecho 是由 PHP 驱动的开源程式,所以得修改刚刚生成的 NGINX 配置文件。调整 server 段 中的 index 顺序,指定默认首页为 index.php
站点配置文件在 /usr/local/nginx/conf/vhost/
中
这里我使用 vim 来进行编辑 conf 文件
vim /usr/local/nginx/conf/vhost/microcharon.com.conf
找到 index 段,调整顺序为
index index.php index.html index.htm default.php default.html default.htm;
保存后检查 NGINX 语法是否错误,然后重载或者重启
lnmp nginx configtest #或者 nginx -t
lnmp nginx reload #或者 nginx reload
lnmp nginx restart #或者service nginx restart
上传Typecho程式
直接下载官网最新源码压缩包,上传至网站目录并解压即可
修改网站目录中的 uploads (usr/uploads/) 文件夹及其子文件夹权限为 755 或 777(不推荐),如下所示
chmod -R 755 /home/wwwroot/microcharon.com/usr/uploads/
#或者设置为 777 权限
chmod -R 777 /home/wwwroot/microcharon.com/usr/uploads/
如果仍然不行,尝试着将文件夹拥有者和群组修改回 www (我这里的用户是 www,仅供参考)
chown -R www:www /home/wwwroot/microcharon.com/usr/uploads/
如果遇到上传附件失败的情况,原因多是权限等的设置问题,参考如上建议设置好后基本上就能解决
安装Typecho
按照流程走基本没问题,此处不提
常见问题
上传Typecho程式后未跳转至安装界面
站点文件 NGINX 配置文件中,用了默认的 index.html 作为首页
usr文件夹无法上传附件
一般来说,修改 uploads 文件夹权限为 777 可以解决文章编辑器中上传附件失败的情况。但不推荐这么做,与上述一样更改 chown -R www:www /home/wwwroot/microcharon.com/usr/uploads
admin后台登录404
PHP pathinfo 没有启用,如果没有添加,可参照上述例子添加 pathinfo 到 vhost 的站点配置文件中
数据库还原部分
如果还原数据库有问题,请在此之前将每张表单独备份。重新创建数据库后每张表单独还原
小结
搭建你的 Typecho 站点到底是用一键包好还是用面板好,这取决于你自己。LNMP 一键包完全免费,BUG 少,安全性高,执行效率通常会比面板的执行效率更高。除了上述介绍的 LNMP 一键包外,还有几乎同等强大的 Oneinstack 一键包可以选择,这里不做过多介绍