OneinStack:PHP/JAVA-LNMP/LNMT等服务器建站环境搭建脚本

(Last Updated On: 2017-09-14)

对于想建站或者是买了服务器想鼓捣一下,可能对于运维,服务器环境搭建又没什么了解,完全可以通过整合脚本来搭建,仅需要懂一些基本的命令。这篇文章基本属于搬运,做下记录吧,github

0.介绍

1.包含以下组合

  • 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)

2.支持系统版本

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

1.下载

阿里云内网线路(非VPC专有网络,10M/s以上),包含源码

http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz

国内线路(5M/s),包含源码

http://mirrors.linuxeye.com/oneinstack-full-beta.tar.gz #包含COS备份
http://mirrors.linuxeye.com/oneinstack-full.tar.gz

国外线路(Linode Fremont,10M/s),包含源码

http://mirrors.linuxeye.com/oneinstack-full.tar.gz

sourceforge,包含源码

http://downloads.sourceforge.net/project/oneinstack/oneinstack-full.tar.gz

欧洲线路,包含源码

https://mirrors.dtops.cc/linuxeye/oneinstack-full.tar.gz

不包含源码,建议仅国外主机下载

http://mirrors.linuxeye.com/oneinstack.tar.gz

2.安装

1.注意

如果有单独数据盘,建议您先挂载数据盘,建议将网站内容、数据库放在数据盘中。如何挂载数据盘,请参考(支持阿里云、腾讯云):《如何利用脚本自动化挂载数据盘?》,下面安装自己选择一条
#根据系统安装wget工具
yum -y install wget screen curl python #for CentOS/Redhat
# apt-get -y install wget screen curl python #for Debian/Ubuntu

#下载源码根据自己的选择使用
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 #不包含源码,建议仅国外主机下载

#解压安装
tar xzf oneinstack-full.tar.gz
cd oneinstack #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
screen -S oneinstack #如果网路出现中断,可以执行命令`screen -R oneinstack`重新连接安装窗口
./install.sh #注:请勿sh install.sh或者bash install.sh这样执行

2.如何添加附加组件?

./addons.sh

3.如何添加虚拟主机?

./vhost.sh

4.如何删除虚拟主机?

./vhost.sh del

5.如何管理FTP账号?

./pureftpd_vhost.sh

6.如何备份?

./backup_setup.sh <span class="pl-c"># Set backup options </span>

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

7.如何管理服务?

Nginx/Tengine/OpenResty:

service nginx {start<span class="pl-k">|</span>stop<span class="pl-k">|</span>status<span class="pl-k">|</span>restart<span class="pl-k">|</span>reload<span class="pl-k">|</span>configtest}

MySQL/MariaDB/Percona:

service mysqld {start<span class="pl-k">|</span>stop<span class="pl-k">|</span>restart<span class="pl-k">|</span>reload<span class="pl-k">|</span>status}

PHP:

service php-fpm {start<span class="pl-k">|</span>stop<span class="pl-k">|</span>restart<span class="pl-k">|</span>reload<span class="pl-k">|</span>status}

HHVM:

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

:hhvm进程交给supervisord管理,了解更多请访问《Supervisor管理hhvm进程
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.如何更新版本?

./upgrade.sh

9.如何卸载?

./uninstall.sh

3.更新日志

2017-07-09 iptables改成可选
2017-07-01支持Debian9;PHP编译使用openssl1.0.2版本
2017-06-02 增加MariaDB 10.2
2017-04-09 增加腾讯云COS v4备份功能
2017-02-21 增加fail2ban脚本
2017-01-08 Nginx添加更多模块参数;新增Nginx magento2伪静态;Apache2.4 ssl默认开启http2
2016-12-02 增加PHP7.1
2016-10-29 增加AliSQL;默认启用jemalloc,去除tcmalloc;增加memcached升级脚本
2016-10-15 增加addons.sh脚本;数据库支持二进制或源码编译;PHP7支持ioncube、apcu;优化脚本格式
2016-07-12 V1.4版本发布
2016-06-20 增加fileinfo模块,支持自动部署Let’s Encrypt
2016-06-16 增加Tomcat-6;Nginx默认使用openssl-1.0.2h;增加Apache SSL功能
2016-05-12 升级Imagemagick版本(修复漏洞);MySQL安装改用官方提供二进制方式,支持小内存(MySQL5.7),且加快安装速度
2016-04-29 修复Ubuntu16.04下php-5.3安装错误;V1.3版本发布
2016-04-08 增加OpenResty
2016-04-07 php编译增加–with-config-file-scan-dir参数,简化php扩展模块载入方式
2016-03-03 v1.2版本发布;增加Percona-5.7
2016-02-03 默认php编译–enable-intl –with-xsl参数
2016-01-18 优化代码;修复《Apache mod_deflate压缩模块bug》
2016-01-06 php-7.0支持gmagick扩展插件;卸载功能重写,可卸载单独模块
2016-01-01 Apache默认使用worker MPM模式,更新源码版本最新稳定
2015-12-11 php-7.0支持memcache扩展插件
2015-12-07 php-7.0支持redis、memcached、imagick扩展插件
2015-12-02 php-7.0.0正式版;增加MariaDB-10.1;vhost.sh增加https(默认自签名证书,需购买ssl证书替换);v1.1版本发布
2015-10-25 增加MySQL-5.7;vhost.sh增加thinkphp伪静态;源码更新到最新稳定
2015-08-31 添加tomcat虚拟主机功能;使用hhvm自建yum仓库,修复一般用户远程备份问题;v1.0版本发布
2015-08-07 添加虚拟主机删除功能
2015-08-04 代码重构优化,删除options.conf中web_install_dir db_install_dir db_data_dir参数
2015-07-16 提供数据库升级脚本;更改数据库默认字符集为utf8mb4,旧版本支持数据库升级请参考:《MySQL/MariaDB/Percona数据库升级》
2015-07-08 删除vpn_centos.sh,添加Shadowsocks服务器端安装脚本
2015-07-01 升级脚本合并成一个入口;添加数据库root密码重装脚本;源码包更新到最新稳定版;
2015-06-04 初始版本

4.问题/其他

  • 出于安全考虑,MySQL默认本地连接,如需远程连接(一般是为了使用navicat这样的第三方工具),需要:1.iptables开启远程端口如3306,2.数据库授权。
  • 如何部署java应用:上传war包或者文件到对应网站根目录如/data/wwwroot/default
  • 设置网站根目录权限:
    chown -R www.www /data/wwwroot/
    find /data/wwwroot/ -type d -exec chmod 755 {} \;
    find /data/wwwroot/ -type f -exec chmod 644 {} \;

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Solve : *
19 + 6 =


此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据