如何在 Linux 上从源代码安装和配置 Nginx
在我们了解 nginx 是什么之前,我们应该知道 nginx 的发音。
它不是 NGIN X。 nginx 发音为“Engine X”。
从“Engine X”中删除两个 e 后,nginx 是缩写形式。
nginx 是一个类似于 Apache 的开源 Web 服务器,但重量很轻。nginx 既是 Web 服务器又是反向代理服务器。
以下是nginx的一些特性:
- 它提供静态和索引文件
- 带缓存的反向代理
- 支持 SSL
- 具有容错能力的简单负载平衡
- 可以配置基于名称和基于 IP 的虚拟服务器
- HTTP 基本认证
- 支持重写模块
- 支持 gzip、XSLT、SSI 和图像大小调整过滤器
- 支持所有主要的邮件代理服务器功能
这是关于 nginx 的一系列文章的一部分。
让我们开始安装 nginx 并让它运行起来,这只需 5 分钟。
1.下载nginx
从这里下载 nginx ,或者使用 wget,如下所示。当前稳定版本为 nginx 1.0.5
cd
wget http://nginx.org/download/nginx-1.0.5.tar.gz
tar xvfz nginx-1.0.5.tar.gz
cd nginx-1.0.5
2.安装nginx
有很多选项可以传递给 ./configure。要识别所有配置选项的列表,请执行以下操作。
./configure --help
以下是一些自动启用的 http 模块。如果您需要禁用它们,您应该将“–without-http_[module_name]”传递给 ./configure 选项。例如,要禁用“proxy_module”,您应该执行 ./configure –without-http_proxy_module。
- charset_module – HTTP 字符集模块
- gzip_module – 用于压缩的 HTTP gzip 模块
- ssi_module – 服务器端包含模块
- auth_basic_module – HTTP 基本认证模块。
- autoindex_module – 自动索引
- rewrite_module – 支持重写规则的 HTTP 重写
- proxy_module – HTTP 反向代理模块
- fastcgi_module – 支持 fastcgi
- memcached_module – 用于 nginx 的 Memcached 模块
- ..
以下是一些不会自动启用的 httpd 模块。如果您需要启用它们,您应该将“–with-http_[module_name]”传递给 ./configure 选项。例如,要在 nginx 中启用 SSL,您应该执行“./configure –with-http_ssl_module”。
- ssl_module – 支持安全套接层 (SSL) 模块
- xslt_module – 支持可扩展样式表语言转换 (XSLT) 模块
- perl_module – 支持 Perl
- ..
首先,通过执行 ./configure 使用默认配置选项安装 nginx,如下所示。
./configure
make
make install
在 ./configure 期间,您可能会收到“./configure: error: the HTTP rewrite module requires the PCRE library”。有关缺少 nginx http 重写模块所需的 PCRE 库的错误消息。
为了解决这个问题,要么在你的 Linux 上安装 “pcre” 和 “pcre-devel” 软件包,或者通过执行 “./configure –without-http_rewrite_module” 禁用重写模块
nginx 将安装在 /usr/local/nginx 下,如 ./configure 输出所示。
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ md5: using system crypto library
+ sha1: using system crypto library
+ using system zlib library
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
3.更改默认的nginx监听端口
默认情况下,Nginx 配置为在端口 80 上侦听。如果您将其安装在已运行 apache 服务器的机器上进行测试,则应更改 nginx 侦听端口。
与 apache 的 httpd.conf 文件类似,nginx 的 nginx.conf 文件位于 /usr/local/nginx/conf 下。
在 nginx.conf 的 server 部分,将端口 80 更改为 8081。
# vi /usr/local/nginx/conf/nginx.conf
server {
listen 8081;
server_name localhost;
4.启动Nginx服务器
nginx 可执行文件位于 /usr/local/nginx/sbin 目录下。只需调用此可执行文件即可启动 nginx 服务器。
cd /usr/local/nginx/sbin
./nginx
一旦你开始这个,你会看到 nginx 的“主进程”和“工作进程”,如果你执行 ps.
# ps -ef | grep -i nginx
root 18596 13:16 nginx: master process ./nginx
nobody 18597 13:16 nginx: worker process
启动 nginx 服务器后,转到 http://your-ip-address/(或 http://your-ip-address:8081,如果您更改了 nginx.conf 中的监听指令),您应该会看到默认值nginx index.html,应该是“Welcome to nginx!”
5. 停止 Nginx 服务器
要停止 nginx 服务器,请执行以下操作。
cd /usr/local/nginx/sbin
./nginx -s stop
要查看 nginx 的当前版本,请执行以下操作:
# ./nginx -v
nginx: nginx version: nginx/1.0.5
要调试问题,请查看位于 /usr/local/nginx/logs 下的 error.log 和 access.log 文件
# ls /usr/local/nginx/logs/
access.log
error.log
nginx.pid
- 点赞
- 收藏
- 关注作者
评论(0)