OneinStack一键安装脚本-轻松部署Let’s Encrypt证书配置Https站点

OneinStack是另一个非常优秀的LNMP一键安装脚本,这与上次我们介绍的LNMP 1.4功能类似,只不过LNMP.org的LNMP一键脚本一年才更新一次,PHP 7和Let’s Encrypt证书只有等到LNMP 1.4出来后才能使用,而OneinStack早在去年就可以使用了。

OneinStack更新及时并且经常会新增一些“前沿”功能,这是我当初放弃使用LNMP 1.3 转投OneinStack的原因。OneinStack的作者也一直在更新,部落好几个站都是用OneinStack搭建完成的,特别是它的部署Let’s Encrypt证书和配置Https站点特别好用。

OneinStack 自带了Let’s Encrypt安装组件,想要使用SSL证书的朋友只需要在创建网站时输入域名,然后就可以自动为域名配置SSL证书了,并且OneinStack 还会贴心地设置Let’s Encrypt证书自动续期。至于其它的Memcached、Redis、ionCube、ZendGuardLoader等都可以一键安装。

OneinStack一键安装脚本-轻松部署Let’s Encrypt证书和配置Https站点

本篇文章就来分享一下我使用OneinStack面板的一些心得与体会,更多的关于建站软件与建站工具,你可以看看:

  1. Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持
  2. ConoHa日本VPS主机使用感受-东京机房速度一般支付宝付款
  3. 用JW Player,ckplayer,Smartideo搭建视频直播站-支持各大视频网站和rtmp

一、OneinStack安装方法

OneinStack支持一键安装的操作系统有:CentOS 6~7(包括redhat) 、Debian 6~8 、Ubuntu 12~16 、Aliyun Linux 15.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)

OneinStack安装命令如下(如果有新的变化,请参考官网:https://oneinstack.com/):

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这样执行

在安装过程中,脚本会让你先选择是否安装Nginx、Apache等。根据你自己的需要来选择不同的版本来安装,如果只是建站的话建议使用LNMP,不要使用LNMPA。

OneinStack选择Nginx

接着会要求你选择MysqL数据库版本,5.7版本在性能上有所提升,但是有些程序可能无法兼容MysqL 5.7以下,请谨慎安装与使用。

OneinStack选择MysqL版本

最后就是选择安装PHP的版本,还有各种组件,包括了缓存ZendOPcache、xcache、apcu、eAccelerator;php加解密工具ionCube、ZendGuardLoader ;还有Memcached、Redis等等。

OneinStack安装组件

这是OneinStack安装成功的界面。

OneinStack安装成功

打开你的IP,你就可以看到OneinStack默认页面了,这里会有探针、PHPmyAdmin等,直接点击就可以打开了。建议在正式生产环境中将此页面重命名或者直接删除,防止被人利用。

OneinStack探针

二、OneinStack一键部署Https站点

首先,如果你自己没有购买证书的话,可以先安装OneinStack提供的Let’s Encrypt申请部署组件,执行命令:./addons.sh,选择Let’s Encrypt安装。

OneinStack添加证书组件

接着,到你的域名DNS管理处,将域名的A记录解析到服务器上,因为我们在申请Let’s Encrypt证书时需要验证域名,如果没有解析会出失败的情况。

OneinStack解析域名

然后,你就可以执行命令:./vhost.sh,开始添加新的虚拟主机了。下面的配置是绑定wzfou.net域名,同时将www跳转到非www的,其它的文件目录都是默认,在最后一项选择安装Let’s Encrypt。

OneinStack创建网站

最后,选择OneinStack提供的默认URL重写规则,自带了Wordpress、DZ、typecho等热门程序。这是OneinStack添加虚拟主机成功的界面。

OneinStack添加网站成功

打开你的域名,这时你就可以看到Https站点已经部署成功了。

OneinStack站点部署Https成功

三、OneinStack多版本PHP共存

经过测试,LNMP 1.4实现多版本PHP共存比较简单,有这个需要的朋友建议使用LNMP 1.4:Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持

OneinStack实现多版本PHP有些麻烦,以下内容参考自官网。如果你之前安装的是PHP 5.4,想要安装PHP 7,命令如下:

service php-fpm stop #后面需要再安装php,需要停止php
mv /etc/init.d/php-fpm{,_bk} #后面需要再安装php会覆盖,备份启动脚本
默认php5.4安装路径是/usr/local/php,如果再次安装会提示php已经安装,因此必须修改options.conf的php安装目录,将php7安装路径设置为/usr/local/php7,修改/root/oneinstack/options.conf:
php_install_dir=/usr/local/php7
再次执行./install.sh,选择Install php-7,其余均选择n,等待ing

修改php配置文件:

service php-fpm stop #停止php7启动脚本
mv /etc/init.d/php-fpm /etc/init.d/php7-fpm  #重命名php7启动脚本
mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm  #恢复php5.4启动脚本
设置php5.4、php7开机自启动:
# CentOS:
chkconfig --add php7-fpm
chkconfig --add php-fpm
chkconfig php7-fpm on
chkconfig php-fpm on
# Ubuntu/Debian:
update-rc.d php7-fpm defaults
update-rc.d php-fpm defaults
防止php5.4、php7监听sock冲突,修改php7的listen,更改配置文件/usr/local/php7/etc/php-fpm.conf:
listen = /dev/shm/php-cgi.sock
#改成
listen = /dev/shm/php7-cgi.sock
手工启动php5.4、php7:
service php-fpm start  #启动php5.4
service php7-fpm start #启动php7

修改nginx虚拟主机配置文件:

./vhost.sh绑定域名,默认是运行在php5.4,如需要将网站运行在php7下,需要修改/usr/local/nginx/conf/vhost/www.oneinstack.com.conf(www.oneinstack.com改成自己绑定域名):
fastcgi_pass unix:/dev/shm/php-cgi.sock;
#改成
fastcgi_pass unix:/dev/shm/php7-cgi.sock;
重新加载nginx,使配置生效:
service nginx reload

四、使用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无法发送邮件。这是因为OneinStack没有PHP mail,你需要自己安装postfix或者使用第三方的SMTP如sendcloud、Amazon SES、MailGun等发送。

文章出自:挖站否 https://wzfou.com/oneinstack/,版权所有。本站文章除了注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

关于站长(Qi),8年前经常混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,愿意将自己经验与心得分享出来,与大家共勉。

65 个评论

  • 薅羊毛 回复

    2017年6月26日 at 下午9:38

    我的主机也是6月份用OneinStack 安装的,用Let’s Encryp 安装的时候错误

    如果网站本身就有证书,用Let’s Encryp 还能继续按照他的证书么?

    • Qi 回复

      2017年6月26日 at 下午9:59

      可以,没有问题。证书之间不影响。

      • 薅羊毛 回复

        2017年6月26日 at 下午10:02

        就是个人来说,收费的Comodo PositiveSSL 三年12美元,是最便宜的了么?
        还有其他便宜收费的证书么,这个免费的感觉操作起来麻烦

        • Qi 回复

          2017年6月26日 at 下午10:03

          应该是最便宜的了,而且还是comodo,也就黑五才能抢到。这个免费SSL就是续期要每隔三个月执行一次。不过,用定时任务也能解决。

          • 薅羊毛 回复

            2017年6月26日 at 下午10:05

            https://www.gogetssl.com/comodo-ssl/comodo-positivessl/ 不是随便买么,在哪抢?

            • Qi 回复

              2017年6月26日 at 下午10:17

              好便宜。以前怎么没有发现 headbang

              • 薅羊毛 回复

                2017年6月26日 at 下午10:19

                那个黑色星期五 从哪里买啊

                • Qi 回复

                  2017年6月26日 at 下午10:21

                  每年在黑五时就会有优惠,就是在圣诞节那段时间。

                  • 薅羊毛 回复

                    2017年6月26日 at 下午10:22

                    就是科莫多官网么

                    • Qi

                      2017年6月26日 at 下午10:27

                      是的。同时,也可以在namecheap等专门卖SSL的网站上有。

                  • 薅羊毛 回复

                    2017年6月26日 at 下午10:30

                    恩,namecheap上面都好贵,我还是用的之前沃通三年免费的,不过百度云加速专业版直接走的科摩多证书,不折腾了,累

                    • Qi

                      2017年6月26日 at 下午10:32

                      沃通的SSL不再被信任吧?这家SSL基本上是挂定了。你购买了百度云加速专业版了?

                    • 薅羊毛

                      2017年6月26日 at 下午10:34

                      是不被信任了,火狐和谷歌貌似还没事,用了百度云加速专业版,自签名证书都没事,因为节点走的是科摩多证书

                    • Qi

                      2017年6月26日 at 下午10:49

                      你的网站证书显示ssl405136.yunjiasussl.com,速度很快。

                  • 李毅哲 回复

                    2017年6月27日 at 上午8:36

                    印象中Comodo这个凭证可以用赛门铁克申请namecheap凭证免费替换,
                    只不过如果要用满三年就需要额外补差额了… smile

                    • Qi

                      2017年6月27日 at 下午2:44

                      可以替换也不错。

    • 回复

      2017年6月27日 at 下午8:36

      我已经从 https://www.cheapsslshop.com/rapidssl-wildcard 来保护子域名

  • SaFly.ORG 回复

    2017年6月26日 at 下午10:41

    学习了。打算看下ngx_openresty

    • Qi 回复

      2017年6月26日 at 下午10:47

      openresty听说是国人搞的?貌似很强大。

      • SaFly.ORG 回复

        2017年6月27日 at 上午8:02

        章亦春先生的项目,我找了个简要的概括,就是将你的服务器端应用完全运行于 Nginx 服务器中,充分利用 Nginx 的事件模型来进行非阻塞 I/O 通信。个人感觉是效率高,但维护、改动成本也随之提高了。

        • Qi 回复

          2017年6月27日 at 下午2:44

          有机会去试试看,貌似还不错。

    • 薅羊毛 回复

      2017年6月26日 at 下午11:04

      恩 速度还不错,PHP7.1 加 MYSQL5.5 ,不过PHP7.1已经不支持MYSQL了 ,在连接数据库文件的时候输入mysqli 才能访问的

      网站速度被谷歌广告拖累,不过百度联盟赚不到钱了,就靠谷歌了

      • SaFly.ORG 回复

        2017年6月27日 at 上午7:59

        现在mysql和mariadb都用pdo链接

        • 薅羊毛 回复

          2017年6月27日 at 上午9:21

          PDO好像不设置的话 性能不如MYSQLI高

      • Qi 回复

        2017年6月27日 at 下午2:45

        不支持MysqL?我好像用的是MysqL 5.7,不过在导入数据库发生严重的问题。

        • 薅羊毛 回复

          2017年6月27日 at 下午9:50

          因为PHP7.X废弃了mysql,要求使用mysqli
          导入数据倒是很流畅,怎么还有问题

          • Qi 回复

            2017年6月27日 at 下午10:10

            原来用的是MysqL 5.6,貌似有一些不兼容的问题。

  • 黄良钵博客 回复

    2017年6月26日 at 下午11:54

    qi打算搞IDC了?

    • Qi 回复

      2017年6月27日 at 下午2:45

      是的。 headphones

  • 李毅哲 回复

    2017年6月27日 at 上午8:30

    HTTP/2的部分一样是自动启用吗whatsgoingon
    还是需要手动配置呢? smile

    • Qi 回复

      2017年6月27日 at 下午2:44

      自动部署,在Nginx已经有了Http 2了。不需要自己手动设置。

      • 李毅哲 回复

        2017年6月28日 at 上午7:12

        那很好耶,几乎不需要自己调整

    • 薅羊毛 回复

      2017年6月27日 at 下午9:51

      自动启用 很给力的

  • 可乐 回复

    2017年6月27日 at 上午10:08

    我也一直在用oneinstack。主要是他支持一键ssl部署,并且一键301跳转https。当时的lnmp.org弄了很久都加不上ssl。于是就放弃了 smile 现在感觉oneinstack是最方便的

    • 薅羊毛 回复

      2017年6月27日 at 上午10:10

      是不是证书更新的时候 必须指向主机IP 用CDN不行

      • 可乐 回复

        2017年6月27日 at 上午10:12

        我没有用Let’s Encrypt。我用的自己的comodo。貌似是必须指向自己ip才能部署Let’s Encrypt

        • 薅羊毛 回复

          2017年6月27日 at 上午10:14

          comodo 是免费的么? 你数据库用的mysql么

          • 可乐 回复

            2017年6月27日 at 上午10:17

            是免费的!Github学生包里免费送的namecheap的comodo证书,数据库是MariaDB10.2和Mysql差不多

            • 薅羊毛 回复

              2017年6月27日 at 上午10:19

              MariaDB10.2 用什么软件导入数据 也是phpMyAdmin么

              • 可乐 回复

                2017年6月27日 at 上午10:20

                是的 用起来和Mysql没区别,他就是Mysql的修改版

                • 薅羊毛 回复

                  2017年6月27日 at 上午10:21

                  就是什么也不用做修改,把自己网站数据库直接导入MariaDB就可以了么

                  不过php7不支持mysql了 我改成mysqli就行了

                  • 可乐 回复

                    2017年6月27日 at 上午10:22

                    是的

                    • 薅羊毛

                      2017年6月27日 at 上午10:23

                      链接方式你选的PDO么

                  • 可乐 回复

                    2017年6月27日 at 上午10:25

                    我也不知道连接方式是啥,装好后直接通过phpMyAdmin导入的

    • Qi 回复

      2017年6月27日 at 下午2:43

      是的,不过LNMP 1.4改进了不少,SSL也可以一键部署了。不过301还得自己去设置。

  • 分享屋 回复

    2017年6月27日 at 下午4:24

    博主,可以换个友链吗?分享屋 http://www.fenxiangwu.net/

    • Qi 回复

      2017年6月27日 at 下午10:08

      谢谢支持。已经添加。

      • 分享屋 回复

        2017年6月27日 at 下午10:46

        inlove 谢谢Qi

        • Qi 回复

          2017年6月27日 at 下午10:56

          那个网易云跟贴没有未登录就能评论的功能吗?

          • 李毅哲 回复

            2017年6月28日 at 上午7:10

            只能给登录的访客留言…
            搜狐畅言也是

            • Qi 回复

              2017年6月28日 at 上午8:42

              那就不好了,有些不想登陆就不能评论了。

  • xizirumeng 回复

    2017年6月28日 at 上午9:44

    看到文章下面的“本文作者”这块,我在想,是不是还有其它作者呢

    • Qi 回复

      2017年6月28日 at 下午4:16

      后期会加入多个作者

  • 分享屋 回复

    2017年6月28日 at 下午5:22

    idea 你的IDC是主要卖虚拟主机还是VPS,还是,呢

    • Qi 回复

      2017年6月28日 at 下午10:04

      还没有想好,技术不成熟。

    • Qi 回复

      2017年6月29日 at 上午11:20

      都卖,哈哈。

  • qiuyming 回复

    2017年8月17日 at 下午1:43

    最早看到oneinstack的时候经常记成openstack

    • Qi 回复

      2017年8月17日 at 下午4:41

      OneinStack也是后来才出现的,之前一直是作者的一个脚本包,后来才独立出来一个网站提供专题下载。OneinStack有免费存储吗?

  • X 回复

    2017年10月26日 at 下午9:47

    oneinstack这个安装Nginx是编译安装还是直接安装?

    • Qi 回复

      2017年10月26日 at 下午9:51

      是编译的。

发表评论

Login

欢迎!请登录你的账号。

记住我 忘记密码?

还未注册 注册

Lost Password

Register

返回顶部