OneinStack官方网站:https://oneinstack.com

介绍

OneinStack支持以下数种环境组合:

  • LNMP(Linux + Nginx+ MySQL+ PHP)

  • LAMP(Linux + Apache+ MySQL+ PHP)

  • LNMPA(Linux + Nginx+ MySQL+ PHP+ Apache):Nginx处理静态,Apache(mod_php)处理动态PHP

  • LNMT(Linux + Nginx+ MySQL+ Tomcat):Nginx处理静态,Tomcat(JDK)处理JAVA

  • LNMH(Linux + Nginx+ MySQL+ HHVM)

支持以下数种系统:

  • CentOS 6~7(包括redhat)

  • Debian 6~9

  • Ubuntu 12~16

  • Aliyun Linux 15.1

安装步骤

1.安装wget/screen/curl/python,其它系统自行百度安装方法。

yum -y install wget screen curl python #for CentOS/Redhat
  1. 选择源(以下源选一即可)
wget http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz #阿里云内网下载

wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz #包含源码,国内外均可下载

wget http://mirrors.linuxeye.com/oneinstack.tar.gz #不包含源码,建议仅国外主机下载
  1. 解压压缩包
tar -zxvf oneinstack-full.tar.gz
  1. 进入文件夹
cd oneinstack #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
screen -S oneinstack #如果网路出现中断,可以执行命令`screen -R oneinstack`重新连接安装窗口

环境配置

执行命令:

./install.sh  #注:请勿sh install.sh或者bash install.sh这样执行

添加附加组件

执行命令:

./addons.sh

添加虚拟主机

执行命令:

./vhost.sh

删除虚拟主机

执行命令:

./vhost.sh del

管理ftp账号

执行命令:

./pureftpd_vhost.sh

备份数据

执行命令:

./backup_setup.sh # Set backup options 

 ./backup.sh # Start backup, You can add cron jobs
  # crontab -l # Examples 
    0 1 * * * cd ~/oneinstack;./backup.sh  > /dev/null 2>&1 &

更新版本

执行命令:

./upgrade.sh

卸载OneinStack

执行命令

./uninstall.sh

管理服务

Nginx/Tengine/OpenResty:

service nginx {start|stop|status|restart|reload|configtest}

MySQL/MariaDB/Percona:

service mysqld {start|stop|restart|reload|status}

PHP:

service php-fpm {start|stop|restart|reload|status}

HHVM(hhvm进程交给supervisord管理):

service supervisord {start|stop|status|restart|reload}

Apache:

service httpd {start|restart|stop}

Tomcat:

service tomcat {start|stop|status|restart}

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}

可能遇到的问题

1.ftp权限问题

问题描述:

创建ftp账户后,远程连接出现550错误,提示没有权限。

问题解决:

网站根目录权限遵循:
文件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 {} \;

2.LNMT模式部署JAVA应用

问题解决:

如果安装lnmt模式,即同时安装nginx、mysql、tomcat,默认是做了动静分离,即nginx处理静态资源(jss、ccc、图片等),其余的交给tomcat处理。

默认(未绑定域名)对应网站根目录/data/wwwroot/default(不是webapps),部署代码时建议将war包解压(比如example.war,解压命令:jar xf example.war ,注意权限必须为www),将其中代码放到对应网站根目录。

  • 如果上传代码之后目录结构为:/data/wwwroot/default/WEB-INF,访问地址为:http://IP

  • 如果上传代码之后目录结构为:/data/wwwroot/default/example/WEB-INF,访问网站地址为:http://IP/example

注意:

war包也可以不解压即上传到对应网站根目录,但必须注意访问路径和静态资源目录问题。如果访问网站时,静态资源加载不了,可能是原因是做了动静分离静态资源直接有nginx处理,请确认nginx是否能找到相关静态资源(nginx网站根目录:/data/wwwroot/default

如果vhost.sh绑定了域名,如www.example.com,工具会自动生成对应根目录:/data/wwwroot/www.example.com ,请将代码放入此目录。

3.切换php版本

问题解决:

./uninstall.sh php  #卸载
./install.sh #php选择y,其余选择n,即可

4.配置MySQL远程连接

问题解决:

(1)开启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规则

如下图:

(2)授权数据库

远程连接新建一个帐号(帐号名不能为root)。
如:添加一个用户名为db_user,密码为db_pass,授权为%(%表示所有外围IP能连接)对db_name数据库所有权限,命令如下

# 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; #退出数据库控制台,特别注意有分号

如下图:

版权声明:本文为本人原创文章,未经本人允许不得转载,谢谢。 https://blog.csdn.net/yuanlaijike/article/details/76651006

附:LNMP与OneStack对比

第一、两者共同之处

从时间上,LNMP应该有好多年了,老左在没开始接触VPS的时候就有看到LNMP存在。OneinStack正式面向大众用户的应该是在这两三年时间。总之两者脚本都比较成熟,功能和软件版本都比较新,而且一旦有软件版本的升级和更新,都能较为快速的完善。

LNMP官方网站:https://lnmp.org/
OneinStack官方网站:https://oneinstack.com/

开始的时候LNMP主做Nginx驱动,其实也是可以安装LAMP以及LNMPA组合的,但是我们可能都习惯安装Nginx的时候用LNMP。

第二、两者差异之处

从脚本功能的丰富程度上看,OneinStack应该是比LNMP丰富一些的,比如其可以自定义安装LNMP、LAMP、LNMPA、LNMT(Tomcat)、lnpp/lapp(PostgreSQL)、lnmh(HHVM)这样的环境支持。同时,Oneinstack提供较为全面的本地和第三方存储备份入口,其中包括提供本地备、远程(rsync)、阿里云OSS、腾讯云COS、又拍云和七牛云备份脚本

这一点上面看,LNMP相对比较弱一些,当然我们可以通过手动的方式进行设置,但是自动化上并不如Oneinstack,希望军哥在后面版本中有增加(自动化实现)。不过从在脚本使用过程中解决问题的文档指导上,LNMP是比较有优势的,基本上需要解决的问题都可以从官方论坛或者用户分享的文档中找到解决办法,这个主要是LNMP较为有时间优势的原因。

第三、用户选择建议

从两者脚本功能上看,都可以满足我们常规的建站用途需要。对于我们初学写使用VPS建站的,建议先从有面板的开始,如果直接从无面板的,那可能稍微有点门槛,但是也并不是特别难以解决。毕竟官方都提供命令行工具,且搭建网站无非就是添加和删除站点而已没有什么特别的。

我们用户在选择一键包WEB环境的时候,两者都可以选择,开始的时候我们可以都用用,然后在后续的使用中习惯哪种就使用。反正目前两者更新都比较快,LNMP每年六一节一次大更新,而另外一个是默默的升级(有修改就升级)。

转自 http://www.laozuo.org/11976.html

文档更新时间: 2019-10-11 13:47   作者:cklx