我们是一家相当小的公司(3-4 名程序员和 3-4 名网站设计师),开发单一用途的 PHP 网络应用程序,该应用程序为大约 100 多个网站提供功能。我们已经在单独的开发和生产环境中运行了几年,并且运行良好。总是有足够多的独立功能需要开发,程序员从来没有真正发生冲突,而且没有源代码控制也更方便工作;即使它有数据丢失的风险,我们也有相当一部分文件在不经意间丢失。
另一个考虑是我们的设计师不精通技术(我向他们介绍了 html 标记,而不是使用所见即所得)。这是在转向版本控制方面犹豫不决的原因之一。
然而,现在我们已经达到了 100 多个站点并且开发团队也在不断壮大,我正在尝试标准化我们的程序,就程序员而言,源代码控制似乎是一个合乎逻辑的步骤。我希望这也能加快我们的补丁部署。
不幸的是,我在设置源代码控制系统方面的经验非常有限。我很想从有类似设置或有转换经验的人那里听到什么:
1) 您是否对所有内容(站点、css、html 模板和应用程序代码)进行版本控制,从而迫使设计人员学习版本控制?或者只是开发应用程序代码的开发人员?
2) 最初设置源代码管理时需要注意哪些陷阱?
3) 部署 dev => 用于源代码控制的生产技巧。
感谢所有的洞察力。
编辑1:当。到目前为止,每个人都建议控制一切。那会让我早早掉头发。在不久的将来,这可能会引发一个新问题。感谢您到目前为止的建议,继续加油!
编辑 2:很多好的答案,我们将研究各种版本控制系统。谢谢大家的回复!
所以我正在测试一个小型的 CentOS 构建(机架空间云)。我设置了我的用户并去做了一些 sudo'ing。好吧,我忘记了使用 visudo 将我的用户添加到 sudoers 文件的步骤。所以当然,我收到了这个错误:
不在 sudoers 文件中。此事件将被报告。
以前没见过,所以现在想知道。这是从哪里报告的?它只是发送到邮件,还是记录在某个地方?
谢谢你的帮助
我正在使用 RHEL 5.6 并尝试使用 haproxy 的“xforwardfor”补丁安装 stunnel 以获得类似于此(旧)帖子的设置:http : //www.buro9.com/blog/2009/12/07/installing- haproxy-load-balance-http-and-https/
当我运行 ./configure 时,出现以下错误:
*snip*
configure: **************************************** SSL
checking for SSL directory... Not found
Couldn't find your SSL library installation dir
Use --with-ssl option to fix this problem
Run Code Online (Sandbox Code Playgroud)
从stunnel 文档中,我需要传递一个包含 ssl 库的目录(假设 libssl.so ? )以及一个“certs”目录。
我尝试创建一个 /etc/openssl 目录,其中包含一个“certs”目录和一个符号链接,/lib64/libssl.so.6但这没有用。
我还需要哪些其他图书馆?
更新
从 config.log:
它是由 stunnel configure 4.32 创建的,它是由 GNU Autoconf 2.61 生成的。调用命令行是
$ ./configure --with-ssl=/lib64
## --------- ##
## Platform. ##
## --------- ##
uname -m …Run Code Online (Sandbox Code Playgroud) 当您访问mydomain.com/dev并重定向到mydomain.com.
这样做的目的是提供一种访问站点的开发版本而不是生产站点的方法,同时保持其他所有内容相同。
相关的配置行如下所示:
frontend webfarm 1.2.3.4:80
acl acl_dev path_end /dev
redirect location / code 302 set-cookie SERVERID=live03 if acl_dev
default_backend default_farm
Run Code Online (Sandbox Code Playgroud)
现在,我不想重定向到根域,而是想去掉 /dev 路径。所以如果我去mydomain.com/foo/dev它会设置cookie并重定向到mydomain.com/foo
这可以通过 HAProxy 实现,还是我需要在 apache 后端服务器中使用 mod_rewrite?
注意:我不需要 mod_rewrite 规则,只是在 HAproxy 中寻找这是否可行。
我最近为我们的网站设置了负载平衡解决方案。我们托管了大约 200 个站点,大多数运行我们的自定义应用程序,但有些运行 wordpress 博客(可以上传/删除其中的文件)。设置是基本的:
|-------------------> Apache1
|
HAProxy -|
|
|-------------------> Apache2
Run Code Online (Sandbox Code Playgroud)
我已设置Apache1为“主”,因此Apache2使用以下命令对它所做的大部分更改都会每分钟同步一次:
rsync -av --delete apache1:/var/www/html/ /var/www/html/
Run Code Online (Sandbox Code Playgroud)
问题是,如前所述,在某些情况下,文件是在Apache2. 到目前为止,我想出的唯一解决方案是将Apache1某些目录(例如 wp-content)中的所有文件同步到自身(而不是删除),然后将所有内容推回Apache2.
这有它的缺陷,主要是:
Apache2考虑到两台服务器都可以添加、更新和删除文件,是否有任何方法可以保持 2 个以上的 Web 服务器同步?