云服务器运行环境OneinStack专业版一键包手工搭建教程

2016年11月26日18:29:32 发表评论 321
摘要

OneinStack一键包是网友@yeho原来是发布在自己的博客中的,后来单独用域名提供出来,相对军哥的LNMP功能更加多一些,可以自由选择配置组合,比如我们常用的LNMP(Linux + Nginx+ MySQL+ PHP)、LAMP(Linux + Apache+ MySQL+ PHP)、LNMPA(Linux + Nginx+ MySQL+ PHP+ Apache)、lnmt(Linux + Nginx+ MySQL+ Tomcat)、lnmh(Linux + Nginx+ MySQL+ HHVM)。等等的一些组合。

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)

OneinStack 支持系统版本(包含 32 和 64 位系统):

  • CentOS 5~7(包括 redhat)
  • Debian 6~8
  • Ubuntu 12~16
  • Aliyun Linux 7、15.1

OneinStack 特性:

  • 源码编译安装,大多数源码是最新 stable 版,并从官方网址下载
  • 提供多个数据库版本(MySQL-5.6,MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0, MariaDB-5.5, Percona-5.7,Percona-5.6, Percona-5.5)
  • 提供多个 PHP 版本(php-5.3, php-5.4, php-5.5,php-5.6,php-7.0)
  • 提供 Nginx、Tengine 、OpenResty
  • 提供多个 Apache 版本(Apache-2.4,Apache-2.2)
  • 提供多个 Tomcat 版本(Tomcat-8,Tomcat-7, Tomcat-6)
  • 提供多个 JDK 版本(JDK-1.8,JDK-1.7,JDK-1.6)
  • 根据自己需求安装 PHP 缓存加速器,提供 ZendOPcache、xcache、apcu、 eAccelerator。及 php 加解密工具 ionCube、ZendGuardLoader
  • 根据自己需求安装 Pureftpd、phpMyAdmin
  • 根据自己需求安装 Memcached、Redis
  • jemalloc 优化 MySQL、Nginx
  • 提供添加虚拟主机脚本
  • 提供 Nginx/Tengine、PHP、Redis、phpMyAdmin 升级脚本

提供本地备份和远程备份(服务器之间 rsync)及 Aliyun OSS 内网备份脚本

  • 提供 CentOS 6、7 下 HHVM 安装

OneinStack 用到的开源软件版本如下:

# Web # DB # PHP
nginx_version=1.10.2 mysql_5_7_version=5.7.16 php_7_version=7.0.13
tengine_version=2.1.2 mysql_5_6_version=5.6.34 php_6_version=5.6.28
openresty_version=1.11.2.2 mysql_5_5_version=5.5.53 php_5_version=5.5.38
apache_4_version=2.4.23 mariadb_10_1_version=10.1.19 php_4_version=5.4.45
apache_2_version=2.2.31 mariadb_10_0_version=10.0.28 php_3_version=5.3.29
tomcat_8_version=8.0.30 mariadb_5_5_version=5.5.53
tomcat_7_version=7.0.69 percona_5_7_version=5.7.15-9  # JDK
tomcat_6_version=6.0.45 percona_5_6_version=5.6.33-79.0  jdk_8_version=1.8.0_112
percona_5_5_version=5.5.52-38.3  jdk_7_version=1.7.0_80
alisql_5_6_version=5.6.32-1  jdk_6_version=1.6.0_45
# phpMyAdmin # jemalloc # Pure-FTPd
 phpMyAdmin_version=4.4.15.8  jemalloc_version=4.3.1  pureftpd_version=1.0.43
# Redis  # Memcached
 redis_version=3.2.5  memcached_version=1.4.33

2.1 安装准备(挂载数据云盘)

注意:如果您购买了数据云盘,建议先挂载数据云盘,将网站内容、数据库放在数据云盘中, 未购买数据云盘请忽略该教程

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行,注:cd 后有空格

./auto_fdisk.sh   #执行脚本自动挂载数据盘 如下图:云服务器运行环境OneinStack专业版一键包手工搭建教程

2.2 安装步骤

如果安装的操作系统为 CentOS/Aliyun Linux: yum -y install wget screen python curl 如果安装的操作系统为 Debian/Ubuntu:

apt-get -y install wget screen python curl

以下命令对 CentOS/Aliyun Linux/Debian/Ubuntu 通用:

将 oneinstack.tgz 文件上传至/root 目录下(可用 winscp 上传)

tar xzf oneinstack.tgz

cd    oneinstack

如果需要修改目录(安装、数据存储、访问日志),请修改 options.conf 文件(默认/data 下,如有数据云盘,请在安装前先将云盘挂载在/data 目录下)

screen -S oneinstack

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

./install.sh  #请勿 sh install.sh 或者 bash install.sh 这样执行,开始安装,请参考下图:

云服务器运行环境OneinStack专业版一键包手工搭建教程

2.3 安装目录说明

软件安装目录(默认,可在安装前修改 options.conf 更改安装路径): Nginx:/usr/local/nginx

Tengine:/usr/local/tengine Tomcat:/usr/local/tomcat PHP:/usr/local/php HHVM:/usr/bin/hhvm JAVA:/usr/java MySQL:/usr/local/mysql MariaDB:/usr/local/mariadb Percona:/usr/local/percona AliSQL:/usr/local/alisql Pureftpd:/usr/local/pureftpd Redis:/usr/local/redis Memcached:/usr/local/memcached

 

数据存储目录(默认,可在安装前修改 options.conf 更改储存路径): 数据库(MySQL):/data/mysql

数据库(MariaDB):/data/mariadb 数据库(Percona):/data/percona 数据库(AliSQL):/data/alisql

 

网站根目录:/data/wwwroot/www.example.com    #添加虚拟主机会自动创建这个目录

Web 访问日志:/data/wwwlogs

 

默认 ip 直接访问内容对应根目录:/data/wwwroot/default,该目录包含首页 demo、 phpinfo、phpmyadmin、探针等文件,注:/data/wwwroot/default 目录不能删除, 目录里面的内容不可删除。

 

首页 demo:http://IP 地址

PHPINFO 地址:http://IP 地址/phpinfo.php

phpmyadmin 管理地址:http://IP 地址/phpMyAdmin #为了安全建议重命名或者删除 PHP 运行环境探针地址:http://IP 地址/tz.php

3 MySQL 数据库管理 

注:如果安装了 phpMyAdmin,也可通过它来管理数据库(chrome 浏览器)

3.1 数据库默认 root 密码

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行 grep dbrootpwd options.conf                  #显示数据库 root 密码

3.2 更改数据库 root 密码

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./reset_db_root_password.sh 如下图:云服务器运行环境OneinStack专业版一键包手工搭建教程

3.3 创建一个数据库 

如:创建一个 oneinstack 的数据库(举例)

# mysql -uroot –p      #进入数据库控制台

Enter password:       #输入数据库的 root 密码,默认不显示密码 MySQL [(none)]> create database oneinstack;                                   #特别注意有分号

MySQL [(none)]> show databases;   #查看数据库,除 oneinstack 数据库,其它 3 个为 系统默认库,不能删除

MySQL [(none)]> exit;       #退出数据库控制台,特别注意有分号 如下图:云服务器运行环境OneinStack专业版一键包手工搭建教程

3.4 删除一个数据库

MySQL [(none)]> drop database oneinstack;   #删除 oneinstack 数据库 MySQL [(none)]> exit;      #退出数据库控制台,特别注意有分号

3.5 创建数据库用户

为了安全我们通常给每一个网站程序建立唯一的数据库连接帐号(帐号名不能为 root)。 如:添加一个用户名为 db_user,密码为 123456,授权为本机 localhost 对 oneinstack 数据库所有权限,命令如下

# mysql -uroot –p

MySQL [(none)]> grant all privileges on oneinstack.* to db_user@'localhost' identified by '123456'; #授权语句,特别注意有分号

MySQL [(none)]> flush privileges;     #权限立即生效云服务器运行环境OneinStack专业版一键包手工搭建教程

3.6 配置 MySQL 远程连接?
MySQL [(none)]> exit;     #退出数据库控制台,特别注意有分号 如下图:

为了安全考虑,OneinStack 仅允许云主机本机(localhost)连接数据库,如果需要远程连 接数据库,需要如下操作:

  1. 打开 iptables 3306 端口

# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

云服务器运行环境OneinStack专业版一键包手工搭建教程

# service iptables save    #保存 iptables 规则 如下图:

  1. 数据库授权 远程连接新建一个帐号(帐号名不能为 root)。

如:添加一个用户名为 linuxeye,密码为 123456,授权为% (%表示所有 ip 能连接,可 以设置指定 ip)对 oneinstack 数据库所有权限,命令如下

# mysql    -uroot    -p

MySQL [(none)]> grant all privileges on oneinstack.* to linuxeye@'%' identified by '123456';      #授权语句,特别注意有分号

MySQL [(none)]> flush privileges;

MySQL [(none)]> exit;    #退出数据库控制台,特别注意有分号 如下图:云服务器运行环境OneinStack专业版一键包手工搭建教程

4.1 添加虚拟主机
4 如何管理虚拟主机

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./vhost.sh

云服务器运行环境OneinStack专业版一键包手工搭建教程

上图中 directory 为网站根目录,脚本执行后会自动创建,部署网站时请将代码上传到该目

(目录、子目录和文件权限都为:www),对应 Nginx 配置文件路径为:

/usr/local/nginx/conf/vhost/www.oneinstack.com.conf (www.oneinstack.com 为绑 定的域名)

如果安装了 Apache:

对应 Apache 配置文件/usr/local/apache/conf/vhost/www.oneinstack.com.conf

如果安装了 Tomcat:

对应 Tomcat 配置文件/usr/local/tomcat/conf/vhost/www.oneinstack.com.xml 并/usr/local/tomcat/conf/server.xml 引用这个文件

4.2 删除虚拟主机

./vhost.sh del      #注:是否删除网站数据

云服务器运行环境OneinStack专业版一键包手工搭建教程

5 如何管理 FTP 账号

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./pureftpd_vhost.sh    #请勿 bash ./pureftpd_vhost.sh(或者 sh)这样执行云服务器运行环境OneinStack专业版一键包手工搭建教程

6 如何备份

注:此功能为专业版用户独享 设置备份参数

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./backup_setup.sh   #设置备份参数云服务器运行环境OneinStack专业版一键包手工搭建教程

立即备份:

cd /root/oneinstack   #必须进入 oneinstack 目录下执行

./backup.sh   #立即备份

设置计划任务自动定时备份:

如:每天凌晨一点备份,注:下面命令请勿重复执行

# echo '0 1 * * * cd ~/oneinstack;./backup.sh   > /dev/null 2>&1 & '    >>

/var/spool/cron/root

查看是否备份:

查看本地备份:

ls -l /data/backup/

查看 Aliyun OSS 备份:云服务器运行环境OneinStack专业版一键包手工搭建教程

7 如何管理服务

Nginx/Tengine/OpenResty:

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

注:如手工更改配置文件,强烈建议 reload 

MySQL/MariaDB/Percona/AliSQL:

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

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

service supervisord {start|stop|restart|reload }

注: hhvm 交给 supervisord,详情请参考:https://blog.linuxeye.com/408.html

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}

 

 

8 如何升级版本

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./upgrade.sh云服务器运行环境OneinStack专业版一键包手工搭建教程

9 如何添加附加组件 

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./addons.sh           #注:支持安装、卸载功能云服务器运行环境OneinStack专业版一键包手工搭建教程

10  如何卸载

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./uninstall.sh   #注意备份数据,可单独卸载指定模块云服务器运行环境OneinStack专业版一键包手工搭建教程

11  更多
11.1 如何部署一个网站?

  1. 创建该网站所需的数据库,参考《创建一个数据库
  1. 添加虚拟主机,参考《如何添加虚拟主机
  1. 创建 FTP 账号,参考《如何管理 FTP 账号
  1. 部署代码到网站根目录

注意:通过 ftp 上传代码不需要修改权限,默认已经是 www;在服务器里面下载代码必须 修改网站根目录及子、目录文件权限都为 www;如网站权限出现问题,请参考《关于网站根目录权限》

如下 wget 下载代码部署一个 wordpress,如下图:云服务器运行环境OneinStack专业版一键包手工搭建教程
11.2 关于 PHP 缓存(Opcache)
访问  http://www.oneinstack.com,输入数据库地址(localhost),  用户名(root),密码(数据库 root 密码),完成。 如下图:云服务器运行环境OneinStack专业版一键包手工搭建教程

默认情况下,为了减少 PHP 编译时间,提高性能(生产环境强烈开启 Opcache),微柳提 供的 PHP 环境默认加载了 Opcache 模块(PHP5.5、5.6、7.0),

但是这样会出现 PHP 代码更新后,需要 2~3 分钟才能生效,这样影响工作效率,在网站

调试阶段建议您关闭或者每次有代码更新刷新缓存(推荐方法二

方法一:卸载 Opcache

cd    /root/oneinstack   #必须进入 oneinstack 目录下执行

./addons.sh云服务器运行环境OneinStack专业版一键包手工搭建教程

方法二:刷新 PHP 缓存

访问 http://公网 IP/ocp.php,或者直接访问 http://公网 IP/ocp.php?RESET=1

如下图:

云服务器运行环境OneinStack专业版一键包手工搭建教程

11.3 关于网站根目录权限

网站根目录权限遵循:

文件 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 {} \;

11.4      关于 Redis、Memcached

Redis 默认端口:6379 Memcached 默认端口:11211 默认监听地址:127.0.0.1

  1. 如果增加 Redis 最大内存大小?

vi  /usr/local/redis/etc/redis.conf

maxmemory 1024000000    #单位字节,默认 1G,可调整 service redis-server restart                            #重启生效

  1. 如果增加 Memcached 最大内存大小? vi /etc/init.d/memcached

CACHESIZE=256     #单位 M,默认 256M,可调整 service memcached restart #重启生效

  1. 更改监听端口

 

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   #重启生效

11.5      关于防火墙(iptables)

默认情况下开通 22(ssh)80、443(Nginx) 21、20000:30000(FTP) 其它端口都拒绝,如下需要允许其它端口,请如下操作(如开启 8080 端口) 操作系统为 CentOS:

# iptables -I INPUT 4 -p tcp -m state    --state NEW -m tcp --dport 8080 -j ACCEPT

#允许 8080 端口

# service iptables save       #保存 iptables 规则云服务器运行环境OneinStack专业版一键包手工搭建教程

操作系统为 Ubuntu/Debian:

# iptables -I INPUT 4 -p tcp -m state    --state NEW -m tcp --dport 8080 -j ACCEPT

#允许 8080 端口

# iptables-save > /etc/iptables.up.rules    #保存 iptables 规则云服务器运行环境OneinStack专业版一键包手工搭建教程

文章由拜神的和尚投稿,表示感谢。同样可能会有部分些许情况出现误差,小伙伴们自行研究一下。

weinxin
微信公众号“卟吥”
这是我的微信扫一扫呗,已经有三百多小伙伴们跟着肉球菌吃瓜了,你还在等什么呢?跟我一起吧!
肉球

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: