我对设置 Web 服务器有点菜鸟,但我想把它做好。我在 VPS 上使用 Ubuntu Server 10.04 LTS,目前是全新安装,设置了 root 用户并启用了 SSH。除此之外,它都是全新的。
我想将它设置为我正在做的网站项目的网络服务器。我需要安装诸如 Nginx、FastCGI、PHP5、MySQL 等。但我需要一些帮助来尝试以正确的方式进行设置。虽然我在这里主要谈论的是 Nginx,但这只是一个例子……当我可以确定将东西放在哪里时,我就可以使用相同的公式来安装我安装的任何其他软件。
我已经阅读了有关 FHS 的所有内容,并详细了解了它如何解释不同文件夹的用途,但我想确定一下。
假设我正在编译 Nginx... 其中有关于实际程序的安装位置、配置文件的放置位置、日志文件的放置位置以及 PID 文件的位置等选项。我现在的想法是:
Nginx 本身:/opt/nginx/ Nginx 配置文件:/etc/nginx/ Nginx 日志文件:/var/log/nginx/ Nginx PID:/var/run/
这听起来对吗?还有其他想法吗?谢谢
答案1
是的,更正式的答案:
不要在 ubuntu/debian 系统上猜测应该把东西放在哪里。Ubuntu 有相当新的版本,而且 aptitude 是一个非常好的包管理器。您确实希望您的服务器具有以下特征:
- 为了安全
- 井井有条,这样你就知道东西应该放在哪里
- 通过某种方法获得可重复的配置。(这就是我重视软件包的原因。即使没有 puppet,您也可以获得已安装软件包的列表,并且在紧急情况下,只需安装该列表,您就可以回到原来的位置,例如如果您被黑客入侵)
对于 Nginx,以下是我在更新包发布后很快获取更新包的方法:
https://launchpad.net/~stevecrozz/+archive/ppa
您提到您是新手。请使用包管理器。对于您来说,请使用 aptitude。我们过去总是从源代码构建,但由于您没有提到“防火墙”或“安全”,因此时间紧迫。
您在系统本地安装的软件位于 /usr/local。/usr 实际上归包管理器所有。
至于 /opt,我用它来做一些非常奇怪的东西,比如我笔记本电脑上的 macports 或者我正在尝试的东西,比如 coldfusion 服务器...
默认 nginx 进入 /usr/local/nginx ,这非常好,因为如果您从源代码构建,则卸载...很可能不会在那里。
http://library.linode.com 是一份非常好的基础资源。也请阅读一下。
一旦意识到应用程序开发与服务器管理同时进行的现实,你可能需要看看
http://puppetlabs.com并连接 puppet。那是以后的事
我之前讲的 nginx 有以下几个选项:
nginx -V
nginx version: nginx/0.8.48
TLS SNI support enabled
configure arguments: --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/build/buildd/nginx-0.8.48/modules/nginx-upstream-fair
现在,以后您可能想要重新编译其他一些模块。(/usr/local)!但无论如何,您会看到 debian/ubuntu 布置这些东西的方式。至少。我使用的一个心爱技巧是安装一些我需要构建的服务器并复制基本配置文件,然后清除它。
祝你好运。顺便说一句,为自己创建一个用户,研究 sudo,并禁用 root 登录。我在新服务器上做的第一件事。