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.

yum -y install wget screen curl python #for CentOS/Redhat
  • 1

2.选择源(以下源选一即可)


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
  • 2
  • 3
  • 4
  • 5
  • 6

3.解压压缩包

tar -zxvf oneinstack-full.tar.gz
  • 1

4.进入文件夹

cd oneinstack #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
  • 1

5.

screen -S oneinstack #如果网路出现中断,可以执行命令`screen -R oneinstack`重新连接安装窗口
  • 1

环境配置

执行命令:

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

添加附加组件

执行命令:

./addons.sh
  • 1

添加虚拟主机

执行命令:

./vhost.sh
  • 1

删除虚拟主机

执行命令:

./vhost.sh del
  • 1

管理ftp账号

执行命令:

./pureftpd_vhost.sh
  • 1

备份数据

执行命令:

./backup_setup.sh # Set backup options 
  • 1

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

更新版本

执行命令:

./upgrade.sh
  • 1
  • 2

卸载OneinStack

执行命令

./uninstall.sh
  • 1

管理服务

Nginx/Tengine/OpenResty:

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

MySQL/MariaDB/Percona:

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

PHP:

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

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

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

Apache:

service httpd {start|restart|stop}
  • 1

Tomcat:

service tomcat {start|stop|status|restart}
  • 1

Pure-Ftpd:

service pureftpd {start|stop|restart|status}
  • 1

Redis:

service redis-server {start|stop|status|restart|reload}
  • 1

Memcached:

service memcached {start|stop|status|restart|reload}
  • 1

可能遇到的问题

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 {} \;
  • 1
  • 2
  • 3

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,即可
  • 1
  • 2

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规则
  • 1
  • 2

如下图:

如果您的操作系统为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规则
  • 1
  • 2

如下图:

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

如下图:

Linux利用OneinStack搭建环境的更多相关文章

  1. centos利用OneinStack搭建环境

    介绍 OneinStack支持以下数种环境组合: LNMP(Linux + Nginx+ MySQL+ PHP) LAMP(Linux + Apache+ MySQL+ PHP) LNMPA(Linu ...

  2. 嵌入式Linux利用Wifi搭建无线服务器(物联网实践之无线网关)

    在 http://www.cnblogs.com/heat-man/p/4564539.html中,在嵌入式Linux开发板上我们从最底层实现了一个智能家居的远程控制系统,然而采取的是用网线连接到交换 ...

  3. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  4. [大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境

    1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始. Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, ...

  5. 利用Hexo搭建个人博客-环境搭建篇

    我是一个爱写博客进行总结分享的人.然而,有着热爱写博客并且深知写博客好处的我,却没有好好的把这个习惯坚持下来.如今毕业已经一年多了吧,每一次与师弟师妹们聊天,我总会意味深长的建议他们,一定要定期梳理总 ...

  6. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  7. Linux设备驱动开发环境的搭建(转)

    经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助. 刚接触Linux设备驱动时,初学者往 ...

  8. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  9. Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...

随机推荐

  1. 创建Android环境并且安装cordova

    需要eclipse.Andriod SDK.java.Apache ant.Node.js.Genymotion 目录链接: 1.安装adt-eclipse 2.安装JAVA 3.安装Apache a ...

  2. Android笔记(预安装APK)

    一般一个安卓的产品在出厂时,会预安装许多APK,关于这些APP,主要分为下面这几类 1.系统级别APK 这一类应用一般是:电话/设置或者厂家自己特定的应用. 2.系统预安装APK 因为商业原因,产品出 ...

  3. windows服务器配置tomcat开机自动启动

    背景:最近在做服务器部署的工作,开始的时候都是手动将tomcat进行启动的,但是在遇到几次服务器重启后发现这样太过麻烦,影响项目运行,故事就从这里开始了. 我们的项目是使用spring-boot进行开 ...

  4. linux特殊权限位suid

    特殊权限位基本说明(了解): linux系统基本权限位为9位权限,但还有额外3位权限位,共12位权限: suid       s(x)     S     4     用户对应的权限位(用户对应的3位 ...

  5. oracle中序列,同义词的创建

    序列 序列是用来生成唯一,连续的整数的数据库对象.序列通常用来自动生成主机那或唯一键的值.序列可以按升序排序, 也可以按降序排序.例如,销售流水表中的流水号可以使用序列自动生成. 创建序列语法: cr ...

  6. (转)想从事游戏开发,1 年内能精通 C++ 吗,还需要学习什么?

    本人大约从20多年前开始学习及使用C++,但仍未达到我认为「精通」的阶段,甚至对于C++11的各种新特性也未掌握.然而因为我是在读书时自学C++的,也是游戏程序员(原问题中提到题主想从事游戏开发),觉 ...

  7. 笔记--tslib 编译

    tslib 是qt启动时的一个触屏校正检验程序. 它的配置以及编译比较简单. 第一步, 下载tslib源码包: http://download.csdn.net/detail/MKNDG/329156 ...

  8. C语言指针篇(一)指针与指针变量

    指针 1. 什么是指针?    2. 指针可不可怕? 3. 指针好不好玩? 4. 怎么学好指针?     C语言是跟内存打交道的语言,指针就是内存地址.指针无处不在,指针并不可怕,相反,等你学到一定程 ...

  9. 26-dotnet watch run 和attach到进程调试

    1-打开vscode, 按下Ctrl+`,打开命令行窗口 创建一个donet core mvc项目 2-打开刚刚创建的文件夹 3-输入 dotnet run 访问网站 4 -F5键即可调试 5-更改代 ...

  10. パラメータID一覧

    名称 内容 ABK 処理グループ. AUF 受注伝票タイプ. AVE FI:支払明細通知書のテンプレート登録. BAR 伝票タイプ. BNK 銀行コード. BUK 会社コード. CAC 管理領域. D ...