OneinStack是一个非常优秀的VPS网站环境一键安装脚本,这个脚本和博主以前使用的LNMP.org一键安装脚本类似。但NMP.org一键安装脚本一年只更新一次,而且不支持安装JAVA和PostgreSQL等其他数据库。
OneinStack 自带了Let’s Encrypt安装组件,想要使用SSL证书的朋友只需要在创建网站时输入域名,然后就可以自动为域名配置SSL证书了,并且OneinStack 还会贴心地设置Let’s Encrypt证书自动续期。至于其它的Memcached、Redis、ionCube、ZendGuardLoader等都可以一键安装。
下面就来介绍一下OneinStack的安装和设置方法
OneinStack的安装
1.OneinStack支持常用的CentOS等Linux操作系统,支持安装8种组合。
2.在VPS的SSH上执行以下命令即可开始安装:
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这样执行
3.然后会出现如下提示,输入数字选择(如果只是建站的话建议使用LNMP,不要使用LNMPA。):
- 修改SSH端口(建议默认即可)
- 是否启用Iptables防火墙(如果没有安装其他防火墙建议启用)
- 是否安装Web服务器(有一组Nginx,一组Apache,一组Tomcat可供选择。Tomcat用于Java环境)
4.是否安装数据库和选择数据库版本,有MariaDB、MySQL、PostgreSQL等数据库可以选择(安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存)
5.选择数据库安装方式(有二进制包和从源代码编译可以选择,建议选择二进制包节省时间)和PHP版本
6.选择安装各种组件,包括缓存工具Zend OPcache、xcache、apcu、eAccelerator;php加解密工具ionCube、Zend Guard Loader,Memcached、Redis等,请根据实际需要安装。这里要注意的是,如果选择安装Zend OPcache,就不能安装Zend Guard Loader了。
7.正式开始安装,安装时间根据VPS的性能而定。博主安装用了86分钟,安装成功后显示如下图:
8.打开你的IP,你就可以看到OneinStack默认页面了,这里会有探针、PHPmyAdmin等,直接点击就可以打开了。建议在正式生产环境中将此页面重命名或者直接删除,防止被人利用。
OneinStack添加虚拟主机
1.如果你自己没有SSL证书的话,可以先安装OneinStack提供的Let’s Encrypt申请部署组件,在OneinStack安装脚本目录下执行命令:./addons.sh,选择Let’s Encrypt,并将域名解析到服务器上。
2.然后运行./vhost.sh开始添加虚拟主机,首先选择访问模式,这里选择自己的证书:
- 仅使用HTTP
- 使用自己提供的SSL证书
- 使用Let’s Encrypt提供的SSL证书
3.输入域名、网站目录等信息。
4.是否将没有www的网址跳转到有www的网址,是否将HTTP网址跳转到HTTPS网址
5.生成CSR,因为我们有SSL证书,所以可以直接使用默认值。
6.是否启用防盗链、URL重写、访问日志功能。如果你选择启用URL重写,你还可以选择OneinStack提供的默认URL重写规则(包括Wordpress、DZ、typecho等热门程序)。
7.新增虚拟主机完成,我们需要把OneinStack默认生成的SSL自签名证书换成我们自己的SSL证书,然后重启Nginx。
使用OneinStack遇到的问题
第一个问题:let’s encpty SSL证书自动续期失败。我之前遇到过这样的问题,猜测的原因可能是OneinStack在执行let’s encpty 续期时因为80端口被Nginx占用而导致失败的。解决的办法停止Nginx,然后自己手动执行一下Crontab定时任务。或者直接强制执行:
/usr/local/python/bin/certbot renew –force-renewal –renew-hook “/etc/init.d/nginx reload”
第二个问题:修改PHP后不生效。这是因为在安装OneinStack时默认地给PHP环境默认加载了Opcache模块(PHP5.5、5.6、7.0、7.1),修改PHP代码后一般要1分钟后才见效。解决办法可以卸载Opcache,或者自己访问http://公网IP/ocp.php,重置缓存。
第三个问题:OneinStack无法发送邮件。这是因为OneinStack没有PHP mail函数(由于该方式容易被各大邮箱误报为垃圾邮件,所以一般也很少使用),你需要自己安装postfix或者使用第三方的SMTP如sendcloud、Amazon SES、MailGun等发送。
全文完
文章评论
写的好,谢谢分享
@付费阅读 说的真好,顶一个