oneinstack
自动安装 oneinstack.com/auto/
注意:安全组端口(80、443、21、20000~30000)是否打开,参考: oneinstack.com/docs/securitygroup/
# vagrant环境配置
config.vm.provider "virtualbox" do |vb|
vb.memory = 1024
vb.cpus = 2
end
目录说明
源码安装目录:
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
MySQL数据库管理
cd /root/oneinstack
grep dbrootpwd options.conf #显示数据库root密码
./reset_db_root_password.sh #重置数据库root密码
mysql -uroot –p #进入数据库控制台
Enter password: #数据库root密码,⚠️输入密码不显示在屏幕上
MySQL [(none)]> create database oneinstack; #特别注意有分号
MySQL [(none)]> show databases; #查看数据库,除oneinstack数据库,其它3个为系统默认库,不能删除
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
mysql -uroot -p
Enter password: #输入数据库的root密码,默认不显示密码
MySQL [(none)]> grant all privileges on db_name.* to db_user@'localhost' identified by 'db_pass'; #授权语句,特别注意有分号
MySQL [(none)]> flush privileges; #权限立即生效
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
如何配置MySQL远程连接
1. 云主机安全组端口开放3306端口
2. 打开iptables 3306端口
操作系统为CentOS系列
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables save #保存iptables规则
操作系统为Ubuntu/Debian系列
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
iptables-save > /etc/iptables.up.rules #保存iptables规则
3. 数据库授权
# mysql -uroot -p
MySQL [(none)]> grant all privileges on db_name.* to db_user@'%' identified by 'db_pass'; #授权语句,特别注意有分号
MySQL [(none)]> flush privileges;
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
管理虚拟主机
cd /root/oneinstack
./vhost.sh
删除虚拟主机
cd /root/oneinstack ./vhost.sh --del
管理FTP账号
cd /root/oneinstack ./pureftpd_vhost.sh
备份
设置备份参数
cd /root/oneinstack ./backup_setup.sh
#立即备份
cd /root/oneinstack ./backup.sh
#设置计划任务自动定时备份
如:每天凌晨一点备份,注:下面命令请勿重复执行
echo '0 1 * * * cd ~/oneinstack;./backup.sh > /dev/null 2>&1 & ' >> /var/spool/cron/root
#查看本地备份
ls -l /data/backup
管理服务
⚠️注意:如果操作系统有Systemd,执行service重启,会跳转systemd直接,看到如下提示请忽略,已经重启
Redirecting to /bin/systemctl restart example.service
#Nginx:
service nginx {start|stop|status|restart|reload|configtest}
⚠️:更改Nginx配置文件,强烈建议reload
#MySQL:
service mysqld {start|stop|restart|reload|status}
#PHP:
service php-fpm {start|stop|restart|reload|status}
#Pure-Ftpd:
service pureftpd {start|stop|restart|status}
#Redis:
service redis-server {start|stop|status|restart|reload}
#Memcached:
service memcached {start|stop|status|restart|reload}
升级版本
cd /root/oneinstack ./upgrade.sh
#[添加PHP扩展](https://oneinstack.com/docs/lnmpstack-image-guide/#201)
#如新增swoole扩展,如下命令:
cd /root/oneinstack ./install.sh --php_extensions swoole #可执行./install.sh --help查看支持哪些扩展
#[添加系统组件](https://oneinstack.com/docs/lnmpstack-image-guide/#202)
cd /root/oneinstack ./addons.sh #注:支持安装、卸载功能
#如何卸载
#⚠️可单独卸载某些项,如数据库用RDS,可单独卸载数据库
cd /root/oneinstack ./uninstall.sh #特别注意备份数据
部署一个PHP网站
- 创建该网站所需的数据库
- 添加虚拟主机
- 创建FTP账号
- 部署代码到网站根目录
注意:通过ftp上传代码不需要修改权限,默认已经是www;在服务器里面下载代码必须修改网站根目录及子、目录文件权限都为www;
[关于PHP缓存(Opcache)]
默认情况下,为了减少PHP编译时间,提高性能(生产环境强烈开启Opcache),微柳提供的PHP环境默认加载了Opcache模块(PHP5.5及以上版本),关于原理请参考:《深入理解PHP Opcode缓存原理》
但是这样会出现PHP代码更新后,需要2~3分钟才能生效,这样影响工作效率,在网站调试阶段建议您关闭或者每次有代码更新刷新缓存(推荐方法二)
方法一:卸载Opcache
cd /root/oneinstack ./uninstall.sh
方法二:刷新PHP缓存
访问http://公网IP/ocp.php,或者直接访问http://公网IP/ocp.php?RESET=1
[关于网站根目录权限]
网站根目录权限遵循:
文件644, 文件夹755 ,权限用户和用户组www
如出现文件权限问题时,请执行下面3条命令:
chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;
[关于Redis、Memcached]
Redis默认端口:6379
Memcached默认端口:11211
默认监听地址:127.0.0.1
如果增加Redis最大内存大小?
vi /usr/local/redis/etc/redis.conf
maxmemory 1024000000 #单位字节,默认1G,可调整
service redis-server restart #重启生效
如果增加Memcached最大内存大小?
vi /etc/init.d/memcached
CACHESIZE=256 #单位M,默认256M,可调整
service memcached restart #重启生效
更改Redis监听端口
vi /usr/local/redis/etc/redis.conf
bind 127.0.0.1 #改成bind 0.0.0.0,保存
service redis-server restart #重启生效
更改Memcached监听端口
vi /etc/init.d/memcached
OPTIONS="-l 127.0.0.1" 改成OPTIONS="",保存
service memcached restart #重启生效
默认情况下开通22(ssh)80、443(Nginx) 21、20000:30000(FTP)
⚠️注意:镜像V2.0以上版本,未开启iptables
其它端口都拒绝,如下需要允许其它端口,请如下操作(如开启8080端口)
#如果您的操作系统为CentOS系列:
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT service iptables save #保存iptables规则
#Ubuntu/Debian系列:
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT iptables-save > /etc/iptables.up.rules #保存iptables规则
本作品采用《CC 协议》,转载必须注明作者和本文链接