以下是在Linux下编译安装Nginx的详细步骤:
一、安装依赖库
- 安装基本编译工具和库
- 在Debian/Ubuntu系统中,使用以下命令安装:
sudo apt -y update sudo apt -y install build - essential libpcre3 - dev zlib1g - dev libssl - dev
- 在CentOS/RHEL系统中,执行以下命令:
sudo yum -y install gcc - c++ pcre - devel zlib - devel openssl - devel
build - essential
(Debian/Ubuntu)或gcc - c++
(CentOS/RHEL)提供了编译Nginx所需的编译器。libpcre3 - dev
(Debian/Ubuntu)或pcre - devel
(CentOS/RHEL)用于支持正则表达式,Nginx使用它来处理URL匹配等功能。zlib1g - dev
(Debian/Ubuntu)或zlib - devel
(CentOS/RHEL)用于提供数据压缩功能,Nginx可以使用它来压缩传输的内容,节省网络带宽。libssl - dev
(Debian/Ubuntu)或openssl - devel
(CentOS/RHEL)用于支持SSL/TLS加密,使Nginx能够提供安全的https服务。
- 在Debian/Ubuntu系统中,使用以下命令安装:
二、下载Nginx源代码
- 访问Nginx官方网站(https://nginx.org/),找到下载链接,通常可以使用
wget
命令从命令行下载。例如:-
wget https://nginx.org/download/nginx - <version>.tar.gz
- (将
<version>
替换为你想要下载的实际版本号,如nginx - 1.25.3.tar.gz
)
-
- 解压下载的文件,使用以下命令:
-
tar -zxvf nginx - <version>.tar.gz
- 解压后会生成一个包含Nginx源代码的目录,如
nginx - <version>
。
-
三、配置Nginx
- 进入解压后的Nginx源代码目录:
-
cd nginx - <version>
-
- 运行配置脚本,根据需求定制Nginx的功能。例如,如果要启用SSL模块、HTTP/2模块等,可以使用以下命令:
- `--prefix`选项指定Nginx的安装目录,这里是`/usr/local/nginx`。`--with - http_ssl_module`启用SSL模块,用于提供https服务。`--with - http_v2_module`启用HTTP/2模块,提升网络性能。你可以根据自己的需求添加或删除其他模块相关的配置选项。 - 如果配置过程中出现缺少依赖等错误,需要根据错误提示解决问题后重新运行配置脚本。
-
四、编译和安装Nginx
- 编译Nginx,使用
make
命令:-
make
- 编译过程可能需要一些时间,具体取决于系统性能。
-
- 安装Nginx到指定目录,需要使用管理员权限(
sudo
):-
sudo make install
-
五、验证安装
-
启动Nginx服务,在安装目录下的
sbin
子目录中有Nginx的可执行文件。例如,如果安装目录是/usr/local/nginx
,则可以使用以下命令启动:-
/usr/local/nginx/sbin/nginx
-
-
检查Nginx是否成功启动,可以在浏览器中访问服务器的IP地址(如果是本地测试,可以访问
http://localhost
)。如果看到Nginx的欢迎页面,说明安装成功。 -
还可以使用以下命令检查Nginx进程是否在运行:
-
ps -ef | grep nginx
- 应该能看到Nginx的主进程和工作进程相关的信息。
-
-
如果需要停止Nginx服务,可以使用以下命令(在安装目录下的
sbin
子目录中):-
/usr/local/nginx/sbin/nginx -s stop
- 或者使用更优雅的方式来停止(等待正在处理的请求完成后再停止):
-
/usr/local/nginx/sbin/nginx -s quit
-
参考
- nginx官网