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

oneinstack

删除虚拟主机

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网站

  1. 创建该网站所需的数据库
  2. 添加虚拟主机
  3. 创建FTP账号
  4. 部署代码到网站根目录

注意:通过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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!