LNMP环境镜像使用手册
简介
- 支持备份(包含本地、远程、OSS、COS、七牛云、upyun)等功能
- 未经容许,禁止盗用图片,文档和代码不能复制传播
- 快速部署PHP网站,参考:如何部署一个PHP网站?
- 注意安全组端口(80、443、21、20000~30000)是否打开,参考:云主机安全组端口开放教程
备注
腾讯云Ubuntu服务器默认ssh账号 ubuntu
,必须 sudo su -
命令切换至 root
,脚本位置:/root/oneinstack
镜像说明
版本说明
软件版本详细
- Nginx1.24
- PHP8.3, 8.2, 8.1, 8.0, 7.4, 7.3, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4, 5.3
- MySQL5.7
- Redis7.0
- Memcached1.6
- Jemalloc5.2.1
- Pure-FTPd1.0.49
- phpMyAdmin4.4.15.10
功能亮点
- 基于源码编译安装,细节安全优化,纯命令行,占用系统资源低
- 源码编译安装,细节安全优化,纯命令行,占用系统资源低
- 支持切换至8.1、8.0、7.4、7.3、7.2、7.1、7.0、5.6、5.5、5.4、5.3任意版本
- jemalloc优化Nginx、MySQL内存管理
- 交互添加Nginx虚拟主机,方便快捷, 内置Let's Encrypt
- 菜单式FTP账号管理脚本,轻松建立ftp虚拟用户
- 提供在线Nginx、MySQL、PHP、Redis、Memcached、phpMyAdmin升级脚本
- 提供本地备份和远程备份(服务器之间rsync)、OSS、COS、UPYUN备份功能
目录说明
源码安装目录
- Nginx:
/usr/local/nginx
- PHP:
/usr/local/php
- MySQL:
/usr/local/mysql
- Pureftpd:
/usr/local/pureftpd
- Redis:
/usr/local/redis
- Memcached:
/usr/local/memcached
- phpMyAdmin:
/data/wwwroot/default/phpMyAdmin
数据存储目录
- 数据库(MySQL):
/data/mysql
- 网站根目录:
/data/wwwroot/www.example.com
#添加虚拟主机会自动创建这个目录 - Web访问日志:
/data/wwwlogs
- 默认ip直接访问内容对应根目录:
/data/wwwroot/default
,该目录包含首页demo、Opcache缓存管理、phpinfo、phpmyadmin、探针等文件,目录里面文件可删除,目录不能删除。 - 首页demo:
http://公网IP
- PHPINFO地址:
http://公网IP/phpinfo.php
- Opcache地址:
http://公网IP/ocp.php
- phpmyadmin管理地址:
http://公网IP/phpMyAdmin
#建议用chrome浏览器,访问注意大小写,为了安全建议重命名或者删除 - PHP运行环境探针地址:
http://公网IP/xprober.php
参数优化
由于镜像制作是下1核1G内存配置完成,Nginx、MySQL、PHP参数还是该配置的参数,强烈建议如果不是这个配置,请执行下面优化脚本:
执行命令
sudo /root/oneinstack/optimize.sh
注意
- 文档命令请勿bash optimize.sh(或者sh)执行
- 可能需要等待1分钟,请勿中断
- 此脚本会根据系统配置,自动优化Nginx、MySQL、PHP、JVM等参数
例:执行命令过程
[root@WeiLiu ~]# sudo /root/oneinstack/optimize.sh
Shutting down MySQL.. [ OK ]
Starting MySQL. [ OK ]
php版本切换
执行命令
sudo /root/oneinstack/change_php_version.sh
例:执行命令过程
[root@WeiLiu ~]# sudo /root/oneinstack/change_php_version.sh
#######################################################################
# OneinStack for CentOS/RedHat 6+ Debian 8+ and Ubuntu 16+ #
# Change your PHP version #
# For more information please visit https://oneinstack.com #
#######################################################################
Current PHP Version: 7.4 #注解: 当前PHP版本
Please select a version of the PHP:
1. php-5.3
2. php-5.4
3. php-5.5
4. php-5.6
5. php-7.0
6. php-7.1
7. php-7.2
8. php-7.3
9. php-7.4
10. php-8.0
11. php-8.1
12. php-8.2
13. php-8.3
Please input a number:(Default 9 press Enter) 10 #注解: 切换至序号10, 即php-8.0
You have successfully changed to 8.0 #注解: 切换成功标示
[root@WeiLiu ~]# php -v #注解: 验证切换后当前PHP版本
PHP 8.0.24 (cli) (built: Oct 23 2022 15:32:28) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.24, Copyright (c) Zend Technologies
with Zend OPcache v8.0.24, Copyright (c), by Zend Technologies
将网站数据迁移至数据云盘
提示
如果您购买了数据云盘(脚本仅支持未本地挂载磁盘),建议先挂载数据云盘,将网站内容、数据库放在数据云盘中,未购买数据云盘请忽略该教程!
执行命令
sudo /root/oneinstack/move_auto_fdisk.sh
例:执行命令过程
[root@WeiLiu ~]# sudo /root/oneinstack/move_auto_fdisk.sh
#######################################################################
# OneinStack for CentOS/RedHat 6+ Debian 8+ and Ubuntu 16+ #
# Auto fdisk #
#######################################################################
Step 1.No lock file, begin to create lock file and continue
Step 2.Begin to check free disk
You have a free disk, Now will fdisk it and mount it
This system have free disk :
/dev/vdb
Step 3.Begin to fdisk free disk
Step 4.Begin to make directory
Step 5.Begin to write configuration to /etc/fstab and mount device
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.8G 24K 1.8G 1% /dev/shm
tmpfs 1.8G 432K 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/vda1 50G 8.8G 39G 19% /
tmpfs 361M 0 361M 0% /run/user/0
/dev/vdb1 9.8G 37M 9.3G 1% /data
数据库管理
数据库默认root密码
显示数据库默认root密码, 执行命令
sudo grep dbrootpwd /root/oneinstack/options.conf
例:执行命令过程
[root@WeiLiu ~]# sudo grep dbrootpwd /root/oneinstack/options.conf
dbrootpwd='A0R3Ru5Z' #注解: 数据库root密码为 A0R3Ru5Z
重置数据库root密码
执行命令
sudo /root/oneinstack/reset_db_root_password.sh
例:执行命令过程
[root@WeiLiu ~]# sudo grep dbrootpwd /root/oneinstack/options.conf
dbrootpwd='A0R3Ru5Z'
[root@WeiLiu ~]# sudo /root/oneinstack/reset_db_root_password.sh
#######################################################################
# OneinStack for CentOS/RedHat 7+ Debian 9+ and Ubuntu 16+ #
# Reset Database root password for OneinStack #
# For more information please visit https://oneinstack.com #
#######################################################################
Please input the root password of database: VrTN4k5PYHsw #注解: 输入数据库新的root密码,不少于5个字符
Password reset succesfully! #注解: 成功标识
The new password: VrTN4k5PYHsw
[root@WeiLiu ~]# mysql -uroot -p #注解: 命令行进入MySQL控制台
Enter password: #注解: 输入数据库root密码,输入时不在屏幕显示
MySQL [(none)]> #注解: 成功进入MySQL命令行控制台