自己修改Actgod的Damnp.sh一键脚本,服务器环境从Nginx+Apache+MySQL+PHP替换成了Nginx+MariaDB+PHP。继承了该脚本的优点,占用资源小,三局命令安装Wordpress,全部用官方源包安装,不用编译节省大量时间。
#脚本和文章介绍部分都修改自actgod.com,在这里再次表示我的由衷感谢
Tylemp.sh详情 Linux+Nginx+MariaDB+PHP
- L – Linux: 脚本目前适用于Debian11的32及64位系统
- E – Enginex(Nginx): 高性能省资源的服务器
- M – MariaDB: SUN被Oracle合并之后,MySQL有被封闭风险情况下,MySQL创始人倡导的MySQL替代品
- P – PHP: 流行的WEB语言
因为我的所有网站应用的都是Wordpress,Nginx日趋完善,一些新的功能例如HTTP/2也能很好地实现,Apache就不是那么必要了。加之一直想切换到MariaDB,所以花了一些时间进行修改,方便自己使用。脚本目的在于快速部署基本的生产环境和Wordpress,Typecho, Carbon Forum等常用CMS/博客/论坛系统,如果需要更强大的功能请再行寻找或者留言讨论。
目前所能做到的就是快速部署可用的LNMP环境,性能调优方面还没有深入研究,需要更多的建议。
#Nginx前端+Maria数据库+PHP #所安装包全部来自官方源,仅对配置文件进行参数调优,没有任何添加 #无需长时间编译 #三条命令即可开始wordpress #一键自由更改ssh端口,增强安全性 #优化VPS性能,小内存可用 #增加在线gmail代理工具Rainloop的一键安装
请一定注意系统版本,Debian11, Debian10, Debian9, Debian8, Debian7选择对应脚本
Debian 12
*实际与Debian11通用,在搬瓦工,DMIT等多个服务商上测试通过
#适用于Debian12的32位及64位系统 wget http://w3.gubo.org/pubfiles/tylemp/11/tylemp.sh
Debian 11
#适用于Debian11的32位及64位系统 wget http://w3.gubo.org/pubfiles/tylemp/11/tylemp.sh
Debian 10
#适用于Debian10的32位及64位系统 wget http://w3.gubo.org/pubfiles/tylemp/10/tylemp.sh
Debian 9
#适用于Debian9的32位及64位系统 wget http://w3.gubo.org/pubfiles/tylemp/9/tylemp.sh
Debian 8 及小内存
#小内存! 适用于64M~128M的VPS,Debian8的32位及64位系统。 wget http://w3.gubo.org/pubfiles/tylemp/64m/tylemp.sh
Debian 7 及小内存
#适用于Debian7的32位及64位系统, 建议内存大于等于256M. Debian7不带MariaDB,故使用MySQL作为数据库 wget http://w3.gubo.org/pubfiles/tylemp/7/tylemp.sh
#适用于Debian7的32位及64位系统, 建议在内存在64M到128M之间使用 wget http://w3.gubo.org/pubfiles/tylemp/64m/7/tylemp.sh
Debian 10 五分钟/一键安装Wordpress
有点标题党好吧,其实是三句命令,但是很简单很快速这点没有骗人哦
#命令范例默认是Debian 10, Debian 7到Debian 9, 小内存版本请看上面脚本下载地址
#Debian8下载脚本 wget http://w3.gubo.org/pubfiles/tylemp/10/tylemp.sh #安装稳定版Nginx+PHP+MariaDB bash tylemp.sh stable #安装wordpress,www.yourdomain.com即为你的域名 bash tylemp.sh wordpress www.yourdomain.com
五分钟/一键安装typecho
#命令范例默认是Debian10, Debian7和小内存版本请看上面脚本下载地址
#Debian8下载脚本 wget http://w3.gubo.org/pubfiles/tylemp/10/tylemp.sh #安装稳定版Nginx+PHP+MariaDB bash tylemp.sh stable #安装Typecho,www.yourdomain.com即为你的域名,数据库用户名和密码会显示在屏幕上 bash tylemp.sh typecho www.yourdomain.com
重要:更改SSH端口
默认的22端口会经常被黑客扫描,所以更改端口是一定要做的。如果用的是Bandwagonhost等默认随机化端口的服务商,用完这个脚本之后端口会被恢复为22,需要更改一次端口才能登陆。
#更改端口为22022,数字可以自由更换 bash tylemp.sh sshport 22022 #重启使新端口生效 reboot
命令列表说明
bash tylemp.sh system # 优化系统,删除不需要组件,dropbear替代sshd bash tylemp.sh exim4 # 更轻量级邮件系统 bash tylemp.sh mysql # 安装mysql bash tylemp.sh nginx # 安装nginx,默认一个进程,可调整 bash tylemp.sh php # 安装php,包含php5-gd,可使用验证码 bash tylemp.sh stable # 安装上面所有,软件是debian官方stable源,版本较旧 bash tylemp.sh wordpress www.yourdomain.com # 一键安装wordpress, 数据库自动配置好。 bash tylemp.sh vhost www.yourdomain.com # 一键安装静态虚拟主机。 bash tylemp.sh dhost www.yourdomain.com # 一键安装动态虚拟主机,方便直接上传网站程序。 bash tylemp.sh typecho www.yourdomain.com # 安装typecho,提供数据库名,密码等自主添加完成安装 bash tylemp.sh phpmyadmin www.yourdomain.com # 一键安装phpmyadmin 数据库管理软件,用http://www.yourdomain.com/phpMyAdmin访问 bash tylemp.sh addnginx 2 #调整nginx进程,这里2表示调整后的进程数,请根据vps配置(cpu核心数)更改 bash tylemp.sh sshport 22022 #更改ssh端口号22022,建议更改10000以上端口。重启后生效。 bash tylemp.sh rainloop www.yourdomain.com # 增加Gmail的web客户端一键安装 bash tylemp.sh carbon www.yourdomain.com # 增加Carbon Forum的一键安装
配置文件列表
/etc/nginx/nginx.conf #nginx配置文件,可根据vps的cpu核心数更改进程数最大限度利用 /etc/php5/fpm/php.ini #php配置文件 ~/.my.cnf #mysqlroot密码保存文件 /etc/nginx/conf.d/ #nginx下各个具体网站配置文件所在文件夹
日志Log文件列表
/var/log/nginx #nginx的log文件所在文件夹,所有网站都在一个文件中 /var/log/php5-fpm.log #php的log文件,所有网站都在一个文件中
Tyleamp.sh相关命令列表参考
这些都是系统自带的, 列出来供参考
#MySQL命令 service mysql {start|stop|status|restart|reload|force-reload} #MySQL命令 service nginx {start|stop|status|restart|reload|force-reload} #查看php版本, 例如7.0.33-0+deb9u8, 大版本就是7.0 php -v #查看php版本, Debian9的大版本号是php7.0, 则 service php7.0-fpm {start|stop|status|restart|reload|force-reload}
Tylemp.sh 项目地址
#我建了一个代码项目,放在Bitbucket上,有兴趣的朋友可以查阅一下 https://bitbucket.org/yylzcom/tylemp.sh
出错反馈办法
如果运行脚本过程中有任何出错提示,请打包以下文件发送到我的邮箱 guboorg@gmail.com
/tmp/tylemp.log
Nginx出于CPU负担等考虑,默认不启用Gzip,想开启Gzip的朋友请参考:Nginx启用gzip
109 thoughts on “Debian LNMP/LEMP/WordPress一键脚本”
感谢博主,128内存小vps,找了一圈,用你的脚本安装好了。
不客气,128M的内存一些脚本确实用不了…… mysql可能都装不上。有什么问题留言告知即可
求教出现如下错误
mv: cannot move '/tmp/wordpress.24976/wordpress' to '/var/www/www.chris-shen.com/wordpress': Directory not empty
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
你之前已经有过/var/www/www.chris-shen.com/wordpress这个目录,而且mysql数据库错误。
请把/tmp/tylemp.log发给我,或者在面板重装系统之后再次执行脚本,注意选择正确的系统和对应的脚本。
你好博主,请教一下,原有wordpress用mysql数据库,转到MariaDB数据库不需要什么特别操作吧? 百度搜来搜去没有看到什么靠谱的答案,感觉应该一样的……
另外请问脚本 bash tylemp.sh wordpress http://www.yourdomain.com 支持更换不同域名自动添加站点吗
还是需要编辑什么文本来添加支持不同站点使用wordpress?
感谢
1. 转到MariaDB完全不需要任何改变,简单地导入导出即可
2. 支持添加不同域名的站点,以你的域名为例,如果你想添加home4love.com 和 blog.home4love.com 这两个站点的话:
bash tylemp.sh wordpress home4love.com
bash tylemp.sh wordpress blog.home4love.com
数据库和文件夹都是完全独立的。
Typecho的测试版,现在最新的,可以直接安装吗,我记得以前你发过测试版的脚本,现在找不到了。
345行把"https://github.com/typecho/typecho/releases/download/v1.0-14.10.10-release/1.0.14.10.10.-release.tar.gz"替换成"http://typecho.org/build.tar.gz"即可,这个应该就是最新的开发者版本
你好。这个脚本安装typecho的rewrite有问题。
location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
建议。
感谢您的反馈,不知道您说的rewrite问题出现在哪方面,因为我的测试站点一直能正常使用,没有注意到有什么问题。
测试站点:http://p2.gubo.org/
更新: 感谢反馈,确实是有问题的,已经更新!
rainloop 的登录密码是多少?
默认登录地址 "rainloop.songshu.im/?admin"
用户"admin"
密码"12345".
能不能出一键安装Ghost博客的脚本?
这个会考虑添加,但是时间未定,毕竟自己用wordpress非常多也非常顺手
Reading package lists…
Building dependency tree…
Reading state information…
Package mariadb-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'mariadb-server' has no installation candidate
mariadb-server installed for mysqld
Reading package lists…
Building dependency tree…
Reading state information…
Package mariadb-client is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'mariadb-client' has no installation candidate
mariadb-client installed for mysql
invoke-rc.d: unknown initscript, /etc/init.d/mysql not found.
tylemp.sh: line 126: /etc/mysql/conf.d/actgod.cnf: No such file or directory
invoke-rc.d: unknown initscript, /etc/init.d/mysql not found.
tylemp.sh: line 135: mysqladmin: command not found
出问题了。。。
mariadb-server is not available
怎么可能找不到mariadb-server这个包,重新运行一遍这个命令试试看,什么vps,debian什么版本,用的什么源(/etc/apt/sources.list 这个文件里)
或者你手动运行" apt-get install mariadb-server "看看有没有什么出错提示
使用bash tylemp.sh stable的时候有一定的错误几率数据库无法安装,请查看是否哪里出了问题,腾讯服务器,阿里云,DO,VULTR,LINODE,都有出现过
我用的比较多的都是OpenVZ的,如果是全新安装都没有出现过问题,从Debian7升级到Debian8再进行安装可能会出现和upstart等软件冲突。不能复现排除了解决堤原因的话很难了解具体原因进行改进,如果下次出错,能否看一下具体出错提示。
现在加了一个日志的功能,请下载新的脚本,使用过程中如果有任何失败的情况,请把/tmp/tylemp.log文件发送给我邮箱,方便我查看,谢谢:
guboorg@gmail.com