Articles of 暴发户

暴发户脚本与命令行:为什么这种行为差异?

我试图设置Tomcat,以暴发户开始。 我发现以下工作: description "Tomcat Server" start on runlevel [2345] stop on runlevel [!2345] respawn respawn limit 10 5 setuid tomcat env JAVA_HOME=/usr/lib/jvm/default-java env CATALINA_HOME=/opt/apache-tomcat-7.0.34 script chdir $CATALINA_HOME exec $CATALINA_HOME/bin/catalina.sh run end script 但是,如果我删除了chdir ,tomcat就会启动,但是当我的.wars加载时有大量的FileNotFoundexception。 (即: .wars本身会加载,但是会在加载时抛出exception。) 请注意,这种行为与我从命令行调用catalina.sh时看到的行为不同 。 从命令行调用,我可以运行/opt/apache-tomcat-7.0.34/bin/catalina.sh run 从任何目录 (没有chdiring),一切都很好。 那么为什么我的新贵脚本中需要chdir ? (新兴的环境与我的命令行环境有什么不同?) 当我不chdir时,我看到的错误的例子w /暴发户: Feb 22, 2013 3:00:11 AM org.apache.catalina.startup.HostConfig deployWAR INFO: […]

使用sudo(或从新贵)运行Autossh时要求input密码

我有一个暴发户的工作/etc/init/tunnel.conf : description "SSH Tunnel" start on (net-device-up IFACE=eth0) stop on runlevel[016] respawn exec autossh -nNT -o ServerAliveInterval=15 -R 12345:localhost:22 myuser@myserver 当我看到/var/log/upstart/tunnel.log : Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-with-mic,password). 但如果我尝试从terminal autossh -R 12345:localhost:22 myuser@myserver 它连接到myserver而不要求我input密码(我已经复制了SSH密钥) 当我使用sudo运行它时: sudo autossh -R 12345:localhost:22 myuser@myserver 它问我为我的服务器密码,所以我想这是我的暴发性工作的问题。 为什么SSH要求我input密码,我们以root身份运行它?

在Ubuntu Lucid上正确地命令closuresMySQL和iSCSI

我在Ubuntu 10.04服务器上运行MySQL,MySQL $ datadir位于iSCSI卷上。 文件系统在/etc/fstab标记为“_netdev”。 在系统closures时,upstart会向MySQL发送一个SIGTERM,然后继续closuresnetworking接口,而无需等待MySQL退出或者iSCSI磁盘被卸载或断开连接。 这当然会导致XFS无法正常卸载,MySQL需要花费几分钟的时间在启动时重播InnoDB日志。 我不清楚在正确的地方开始戳这个问题。 从我读到的,新贵应该已经足够聪明,等待iSCSI文件系统卸载和断开连接,然后closuresnetworking接口,虽然这没有发生。 我不知道如何告诉它,它也需要等待MySQL的干净closures。 这是控制台在关机过程中显示的内容: Broadcast message from root@mysql-a1 (unknown) at 11:19 … The system is going down for halt NOW! Power button pressed * Stopping Bacula File daemon… [ OK ] Stopping file integrity checker: samhain. * Running nssldap-update-ignoreusers… [ OK ] * Stopping multipath daemon multipathd [ […]

我们是否需要明确地将php.ini的位置传递给php-fpm?

我看到一个奇怪的问题,我的php.ini没有被使用,如果我没有明确地把它传递给php-fpm启动时。 这是我使用的暴发户脚本: start on (filesystem and net-device-up IFACE=lo) stop on runlevel [016] pre-start script mkdir -p /run/php end script expect fork respawn exec /usr/local/php/sbin/php-fpm –fpm-config /etc/php/php-fpm.conf 如果PHP以上述方式启动,我的php.ini从不使用,即使它在Configuration File (php.ini) Path 。 这是来自phpinfo()的相关部分: Configuration File (php.ini) Path /etc/php/ Loaded Configuration File (none) Scan this dir for additional .ini files (none) Additional .ini files parsed (none) 如果我修改暴发户脚本的最后一行,明确指出php-fpm为php.ini […]

为什么我不能在Ubuntu 12.04中运行这个Python脚本?

通常我这样做: cd /home/ubuntu/project/beta python default.py -dev 为了启动web.py服务器 我宁愿这样做: sudo start beta 这是我的/etc/init/beta.conf setuid alex setgid alex script export HOME=/home/ubuntu/project cd $HOME/beta python default.py -dev end script 当我做sudo start beta它开始,但几秒钟后做sudo status beta显示它停止。 tail /var/log/syslog显示kernel: [58023.somenumbers] init: beta main process (5460) terminated with status 134 现在,如果我做python default.py -dev然后echo $? 它显示0 – 所以我不明白为什么上面的退出代码正在发生。 beta文件夹和内容归alex:alex所有 任何帮助表示赞赏!

Upstart作为非特权用户失败,权限被拒绝

我试图build立一个Sage Cell Server(一个开源的math引擎)作为一个非特权用户运行。 我已经创build了无特权的用户sagecell来完成这项工作。 它正确安装,如果我正常使用它运行 sagecell@primary-server:~/sage/devel/sagecell$ ../../sage web_server.py 那么一切都按预期工作。 这个应用程序的一个有趣的需求(可能相关也可能不相关)是它需要一个无密码的sshlogin(即ssh localhost工作)。 我已经用ssh-key设置了无特权帐户来完成这项工作。 现在,在启动服务器并在屏幕会话中运行它之后,我并没有手动创build一个屏幕会话,而是尝试了一下这个设置: description "Sage Cell Server Starter" start on runlevel [2345] stop on starting rc runlevel=[016] kill timeout 5 exec su -s /bin/sh -c 'exec "$0" "$@"' sagecell — /home/sagecell/sage/sage /home/sagecell/sage/devel/sagecell/web_server.py 但是,这不起作用。 查看/var/log/upstart/sagecell.log会出现以下错误: 2013-02-20 00:11:09,665 sagecell:INFO starting tornado web server Traceback (most recent call […]

新贵:为什么两个进程作为不同的用户运行?

我想保持一个nodejs应用程序运行,所以我遵循这个: http ://howtonode.org/deploying-node-upstart-monit并安装了Monit和Upstart已经完美的工作了几个月。 我刚刚添加了一个function,我的应用程序,允许磁盘写入和获取权限错误。 我去寻找一切,因为它似乎权限错误不应该是问题。 事实certificate,我从Upstart开始的用户实际上并不是正在运行应用程序的用户! 当我运行: sudo -u deploy NODE_ENV=production node /srv/www/[name of my app]/dist/app.js 无论是通过Monit / Upstart,还是通过SSH,它都会创build2个进程。 从ps ax : 2869 ? Ss 0:00 sudo -u deploy node /srv/www/[name of my app]/dist/app.js 2878 ? Sl 0:01 node /srv/www/[name of my app]/dist/app.js 当我以deploy用户身份login并运行: NODE_ENV=production node /srv/www/[name of my app]/dist/app.js 只有一个过程! 3131 pts/1 Sl+ 0:04 […]

如何安装init-checkconf for upstart?

安装了Upstart,但是init-checkconf不是。 任何想法如何获得这两个? $ sudo init-checkconf sudo: init-checkconf: command not found $ sudo dpkg –get-selections | grep upstart upstart install $ uname -a Linux VM1 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux

如果崩溃,自动重新启动MongoDB

我在Ubuntu服务器上运行MongoDB。 当机器启动时,它使用一个新贵的脚本启动mongod。 我注意到,如果进程崩溃,它不会重新启动。 我怎样才能确保,如果它崩溃,mongod进程重新启动?

为什么暴发户吃我所有的RAM?

我在EC2中运行Ubuntu Server 12.04 LTS。 我有几个node.js守护进程作为服务运行在新贵,以及通常的init的东西。 每次部署之后,所有node.js守护进程重新启动,“init”进程开始以大约0.5MB / min的速度增长。 如果我重新启动一个特定的守护进程,init会回到<50MB。 我的进程可以做些什么来引起暴发户吃我的RAM? 从顶部输出: 8月1日23:51 UTC PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 17627 root 20 0 307m 90m 3444 S 0 5.3 146:18.06 chef-client 1 root 20 0 67680 44m 1140 S 1 2.6 59:11.04 init 17857 appserve 20 0 927m 30m […]