编辑:由于某种原因,我的帖子的一半被截断了,不知道发生了什么。我会尽快更新,并将在顶部发布它已更新。
编辑:我再次更新了帖子,对于不完整的问题很抱歉。
编辑(东部标准时间 10/10/2011 晚上 8:55):我像史蒂文建议的那样更新了 /srv/rhodecode/start.sh,但仍然不高兴。它继续像这样挂起:
[lpeabody@vcs rhodecode]$ sudo /etc/init.d/rhodecode-server start
Starting rhodecode-server:
Run Code Online (Sandbox Code Playgroud)
我已经更新了下面的脚本以显示更改。
我一生中从未编写过 shell 或 bash 脚本。我正在尝试在 CentOS 上安装 RhodeCode,并且有适用于 Debian 和 Gentoo 的初始化脚本,但不适用于 RedHat/CentOS,这对我来说很疯狂。所以我需要写一个,因为我们的服务器环境仅限于运行 CentOS 5。该项目的源代码可以在这里的Bitbucket找到。
这个想法是用 Celery 和 RabbitMQ 运行 RhodeCode。它都是用 Python 编写的,我使用 virtualenv 在它自己的单独虚拟容器中拥有环境。我在这里得到了 shell 脚本的想法。
我创建了一个名为 rhodecode 的系统用户,并创建了目录 /var/run/rhodecode 并且它归 rhodecode 所有。我还创建了生产.ini 所在的/var/www/rhodecode 以及/srv/rhodecode/start.sh,所有这些都归rhodecode 所有。
权限:
[lpeabody@vcs run]$ ll -a /var/run/rhodecode
total 12
drwxr-xr-x 2 rhodecode rhodecode 4096 Oct 10 15:57 .
drwxr-xr-x 21 root root 4096 …Run Code Online (Sandbox Code Playgroud) 这家初创公司正在成长,现在您的团队中有 5 名全职开发人员。您有一个已在生产环境中启动并运行的旧应用程序,以及一个即将发布的新 Web 应用程序。您有 5 台物理服务器(有些是新的,有些已经过时)和 5/10 的“云机器”。您的应用程序的旧版本运行在一个简单的网络服务器上,并且随着时间的推移逐渐演变为更“专业”的东西。另一方面,您的新应用程序利用云环境获利,旨在通过使用队列、nosql 和其他很酷的东西来支持“高流量”……您的销售额正在增加,需要进行功能开发和错误修复。通过开发新应用程序并支持旧应用程序,您的开发人员已达到其能力的 110%(并成为真正的“软件瑞士军刀开发人员”)... 当您耗尽资源时,当涉及到解决具体问题时,您会通过支付昂贵的账单来称呼“知道的人”。您有 unix 和 windows 服务器,并且在有时间或遇到应用程序错误时安装更新并阅读日志查看器。到目前为止,一家科技初创公司的普通情况......
所以,现在你有照片了。这家公司应该聘请系统管理员还是让“想要的开发人员”有时间操作基础设施并在他们对解决方案有疑问时外包?
Windows 启动时,默认情况下会运行userinit.exe。这个程序究竟是做什么的?
我知道它的一般作用 - 例如,启动登录脚本 - 但我正在寻找它所采取的所有步骤的完整细节。
我有一个 Web 服务器,其中 mysql 的默认安装将其所有数据库文件放在/var/lib/mysql. 分区所在/var挂载只有2GB的空间,所以在运行出现空间问题后,我决定重新定位mysql的数据目录。
我天真的方法是将/var/lib/mysql目录完全复制到/web/dbs/mysql,然后更改/etc/mysql/my.cnf以使其读取
datadir = /web/dbs/mysql
Run Code Online (Sandbox Code Playgroud)
但是,重启后,我在mysql错误日志中得到以下错误,并且服务器无法启动。
130130 9:59:23 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
130130 9:59:23 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
130130 9:59:23 InnoDB: Initializing buffer pool, size = 8.0M
130130 9:59:23 InnoDB: Completed initialization of buffer pool
130130 9:59:23 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The …Run Code Online (Sandbox Code Playgroud) 我在配置 CentOS 6 Vagrant 设置以在启动时启动 Apache 服务时遇到问题。我曾尝试使用 chkconfig 并且操作系统似乎只是忽略它。
当我跑步时sudo chkconfig --list httpd,我得到
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Run Code Online (Sandbox Code Playgroud)
我认为这是运行命令的结果
sudo chkconfig httpd on
sudo chkconfig --levels 235 httpd on
sudo chkconfig --levels 345 httpd on
Run Code Online (Sandbox Code Playgroud)
在我的配置脚本中正确配置这个东西的不同尝试。我没有使用 Puppet 或 Chef,我也真的不想使用。我在另一台主机上运行了这个,但在第二台主机上它似乎由于某种原因停止工作。
手动启动服务sudo service httpd start工作正常,但只要我这样做,vagrant halt && vagrant up或者vagrant reload当虚拟机恢复时服务将不会启动。
令人沮丧的是,我以完全相同的方式配置的 mysqld 服务在启动时完全正常。
我的 /var/log/httpd/error_log 是这样说的:
[Thu Apr 17 09:31:09 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Apr 17 09:31:09 …Run Code Online (Sandbox Code Playgroud) 在域服务器可用之前延迟(或暂停)Windows 域成员服务器的冷启动的最有效方法是什么? 有一些方法可以延迟服务器的启动,但是它的效率有点低,因为如果域控制器已经可用,则没有真正需要延迟启动,但是如果域控制器不可用它有对依赖于域控制器可用性的服务有很大影响(如果依赖于不可用的域控制器,大多数服务将无法启动,并且必须在域服务器启动后手动启动)。
我最近停止了 postgresql 数据库(运行良好),几天后,当我尝试启动它时,出现错误:
2011-01-03 23:56:27 CLST LOG: could not translate host name "localhost", service "5432" to address: Name or service not known
2011-01-03 23:56:27 CLST WARNING: could not create listen socket for "localhost"
2011-01-03 23:56:27 CLST FATAL: could not create any TCP/IP sockets
Run Code Online (Sandbox Code Playgroud)
我正在运行 Ubuntu 9.1,我使用的是平常的
/etc/init.d/postgresql-8.4 start and stop
Run Code Online (Sandbox Code Playgroud)
任何提示?
我正在寻找有关如何控制机器机架的启动顺序的建议,如果它们都需要重新启动。更详细地:
Group1:
DHCP/DNS/LDAP Server
Group2:
NFS servers
Group3:
Web Servers
Compute Nodes
Run Code Online (Sandbox Code Playgroud)
我目前正在配置 apcupsd 来处理紧急关闭,特别是对于数据服务器,但我不确定我是否应该使用 WOL 编写一些复杂的启动脚本,或者是否有一个早期的 linux 网络事件系统来暂停启动过程直到收到正确的事件。
如果重要的话,所有服务器都是戴尔并且他们有 iDRAC,但我一直无法让它工作(没有那么努力),如果这提供了任何替代方案。
我有一个 mysql 数据库,它曾经工作得很好,但现在启动时速度很慢。当我输入
$> mysql -u foo bar
Run Code Online (Sandbox Code Playgroud)
在收到提示之前,我收到以下通常的消息大约 30 秒:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Run Code Online (Sandbox Code Playgroud)
当然,我试过了,速度快了很多:
$> mysql -u foo bar -A
Run Code Online (Sandbox Code Playgroud)
但是为什么我要在常规启动中等待这么长时间?这不是一个很大的数据库(编辑:<10 MB),并且数据似乎没有损坏(启动后一切正常)。我没有其他客户端同时连接到 mysql 服务器(命令只显示一个进程show full processlist)并且我已经重新启动了该mysqld服务。
这是怎么回事 ?
我是瞎搞与FreeRADIUS和MySQL (MariaDB)它似乎FreeRADIUS的服务将无法启动时正常启动。但它开始使用root用户或在调试模式 ( radiusd -X)下很好,并且工作得很好!调试模式显示没有错误。
systemctl 命令显示radiusd.service 启动失败。
/var/log/messages 输出:
Aug 21 15:52:29 nexus-test systemd: Starting The Apache HTTP Server...
Aug 21 15:52:29 nexus-test systemd: Starting MariaDB database server...
Aug 21 15:52:29 nexus-test systemd: Starting FreeRADIUS high performance RADIUS server....
Aug 21 15:52:29 nexus-test systemd: Started OpenSSH server daemon.
Aug 21 15:52:29 nexus-test mysqld_safe: 140821 15:52:29 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Aug 21 15:52:29 nexus-test mysqld_safe: 140821 15:52:29 mysqld_safe Starting mysqld daemon with databases …Run Code Online (Sandbox Code Playgroud)