在Nginx服务器上安装WordPress的可能最短的外壳脚本?

时间:2018-01-17 作者:Arcticooling

以下脚本是我在Ubuntu Nginx环境中使用的脚本,用于启动并运行WordPress webapp。

我使用域作为参数运行它:

bash ~/nwsm.sh example.com
我的问题是,为了获得尽可能短的脚本,可以通过一些WP-CLI自动化或其他自动化工具在该脚本中缩短哪些内容。

至于现在,它有35行代码,我想它可能会下降到<=30 线

#!/bin/sh

domain="$1"
read -sp "What\'s your DB root password?" dbrootp
read -sp "What\'s your DB user password?" dbuserp
cd ${drt}

cat <<-WEBAPPBASE > /etc/nginx/sites-available/${domain}.conf
    server {
        root ${drt}/${domain}; 
        server_name ${domain} www.${domain};
        location ~* \\.(jpg|jpeg|png|gif|ico|css|js|ttf|woff|pdf)$ {expires 365d;}
    }
WEBAPPBASE
ln -s /etc/nginx/sites-available/${domain}.conf /etc/nginx/sites-enabled/
certbot --nginx -d ${domain} -d www.${domain} # HTTP/2

cat <<-DBSTACK | mysql -u root -p"${dbrootp}"
    CREATE USER "${domain}"@"localhost" IDENTIFIED BY "${dbuserp}";
    CREATE DATABASE "${domain}";
    GRANT ALL PRIVILEGES ON ${domain}.* TO "${domain}"@"localhost";
DBSTACK

mkdir ${domain} && curl -L http://wordpress.org/latest.tar.gz | tar -zx -C ${domain}/
cp ${domain}/wp-config-sample.php ${domain}/wp-config.php
sed -ir "s/username_here|database_name_here/${domain}/g ; s/password_here/${dbuserp}/g" ${domain}"/ ${domain}/wp-config.php

chown -R www-data:www-data ${domain}/*
chmod -R a-x,a=rX,u+w ${domain}/*
systemctl restart nginx.service

1 个回复
SO网友:Jesse Nickles

拥有;“最短”;我认为,除了出于娱乐目的之外,剧本在这里是一个毫无意义的目标。但是如果您正在寻找一些非常简单易懂的东西,您可以查看Bash脚本,比如我自己的免费SlickStack GitHub上的项目,面向LEMP堆栈新手。

请记住,如果您集成像WP-CLI这样的东西,它可能看起来是;“较短”;命令,但后端是一个相当复杂的脚本和别名系统。当您安装了WP-CLI并运行了所有必要的命令时,可能不会节省太多时间。。。

您似乎也跳过了WordPress要求的PHP-FPM和MySQL安装,更不用说其他常见的东西,如MU(必须使用)插件和drop-in插件,例如。object-cache.php 这也是当今的主流wp-config.php 配置等。

我花了数年时间将SlickStack组装在一起,采用了一种非常用户友好且最小的方法,但最终它仍然包含了几个不同的Bash脚本。。。最终,无论何时您进入服务器管理和DevOps工具,都可能需要30多行代码!在SlickStack的情况下ss-config 文件是您可以在安装之前修改所有堆栈变量和选项的地方,这意味着您不必编辑任何实际的Bash脚本。

您还可以搜索public Gists GitHub的规模往往小于回购。

结束

相关推荐

WP-CLI:建立数据库连接时出错:未定义常量DB_USER

从wp-cli-github页面获取此信息。我已经在这里搜索了几个小时的文档和网站。目前使用Blue Host托管,他们使用的是1.2.0版:(我似乎无法更新。我有3个wp页面,工作“完美”良好,但另一个无法连接到db。我可以使用与wp config相同的凭据登录到db。php,清理了db,仍然没有运气。对此有何想法?试图通过wp cli最终更好地维护这些页面。谢谢wp核心版本:返回良好。wp config path --debug Debug (bootstrap): No readable g