1、安装必要的依赖
安装gcc和make工具:这些工具用于编译源代码,执行以下命令来安装它们。
sudo yum install -y gcc make
安装PCRE库:Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法,因此需要安装pcre和pcre-devel。
sudo yum install -y pcre pcre-devel
安装zlib库:zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。
sudo yum install -y zlib zlib-devel
安装OpenSSL库:如果Nginx支持https(即在ssl协议上传输http),需要安装OpenSSL库。
sudo yum install -y openssl openssl-devel
2、下载并解压Nginx源码包
下载Nginx源码包:可以从Nginx官方网站下载最新的稳定版本源码包。
wget http://nginx.org/download/nginx-1.20.2.tar.gz
解压源码包:将下载的压缩包进行解压。
tar -zxvf nginx-1.20.2.tar.gz
3、配置编译选项
进入Nginx源码目录:切换到解压后的Nginx源码目录。
cd nginx-1.20.2
运行configure脚本:配置Nginx的安装路径以及启用的模块等。
./configure --prefix=/usr/local/nginx --with-http_ssl_module
4、编译并安装Nginx
编译Nginx:使用make命令编译Nginx。
make
安装Nginx:使用make install命令将Nginx安装到指定的目录。
sudo make install
5、启动Nginx
启动Nginx服务:使用以下命令启动Nginx服务。
sudo /usr/local/nginx/sbin/nginx
检查Nginx是否正在运行:可以使用以下命令查看Nginx进程。
ps -ef | grep nginx
6、配置系统服务(可选)
创建systemd服务文件:为了使Nginx能够在系统启动时自动启动,可以为其创建一个systemd服务文件。
编辑service文件:将以下内容复制到该文件中。
[Unit] Description=The NGINX HTTP and reverse proxy server After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
重新加载systemd并启动Nginx服务:执行以下命令重新加载systemd并启动Nginx服务。
sudo systemctl daemon-reload sudo systemctl start nginx sudo systemctl enable nginx
7、配置Nginx
编辑nginx.conf文件:进入/usr/local/nginx/conf目录,可以修改nginx.conf文件来配置Nginx。
vim /usr/local/nginx/conf/nginx.conf
基本配置示例。
user nginx; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { use epoll; worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; keepalive_timeout 65; gzip on; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; upstream mysvr { server 192.168.8.1:3128 weight=5; server 192.168.8.2:80 weight=1; server 192.168.8.3:80 weight=6; } server { listen 80; server_name www.example.com; location / { proxy_pass http://mysvr; } } }
通过以上步骤,可以在CentOS系统上成功编译、安装和配置Nginx,根据具体需求,还可以进一步调整Nginx的配置文件,以实现更复杂的功能。