一、准备环境
1、安装必要的编译工具和依赖项
使用以下命令安装gcc、gccc++、make等编译工具以及zlib、pcre、openssl等依赖库的开发包,这些是编译nginx所必需的。
sudo yum install y gccc++ make zlibdevel pcredevel openssldevel
2、创建用户和用户组
创建一个名为“nginx”的用户和用户组,以便后续的安装过程中使用,并指定该用户的登录shell为/sbin/nologin,表示该用户不能用于登录系统。
sudo useradd s /sbin/nologin nginx
二、下载Nginx源代码
1、从Nginx的官方网站(http://nginx.org/download/)下载最新稳定版本的Nginx源代码压缩包,可以使用wget命令下载,例如下载1.24.0版本。
wget http://nginx.org/download/nginx1.24.0.tar.gz
2、解压下载的压缩包。
tar zxvf nginx1.24.0.tar.gz
三、配置编译选项
1、进入解压后的Nginx源代码目录。
cd nginx1.24.0
2、运行./configure
脚本来配置编译选项,可以指定安装目录、用户和组等信息,将Nginx安装到/usr/local/nginx目录,并以nginx用户和用户组的身份运行。
./configure prefix=/usr/local/nginx user=nginx group=nginx
四、编译和安装
1、使用make命令编译Nginx源代码。
make
2、编译完成后,使用make install命令将Nginx安装到指定的目录,需要超级用户权限,因此前面要加上sudo。
sudo make install
五、启动Nginx
1、Nginx安装完成后,可以通过以下命令启动Nginx服务。
sudo /usr/local/nginx/sbin/nginx
2、验证Nginx是否启动成功,可以在浏览器中访问服务器的IP地址或域名,如果看到Nginx的欢迎页面,则说明安装成功。
六、配置系统服务(可选)
1、为了使Nginx能够在系统启动时自动启动,可以为其创建一个systemd服务文件,创建一个新的systemd服务文件/etc/systemd/system/nginx.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=multiuser.target
2、重新加载systemd,以便它知道新的服务。
sudo systemctl daemonreload
3、启动Nginx服务,并设置为开机启动。
sudo systemctl start nginx sudo systemctl enable nginx
七、相关FAQs
1、问题:在编译安装过程中遇到“command not found: ./configure”错误怎么办?
回答:这可能是因为没有正确进入Nginx源代码目录或者没有安装必要的编译工具和依赖项,首先确保已经进入了正确的源代码目录,然后检查是否已经安装了gcc、gccc++、make等编译工具以及zlib、pcre、openssl等依赖库的开发包,可以使用以下命令安装这些依赖项:
sudo yum install y gccc++ make zlibdevel pcredevel openssldevel
安装完成后,再次尝试运行./configure
命令。
2、问题:如何修改Nginx的配置文件?
回答:Nginx的默认配置文件位于/usr/local/nginx/conf/nginx.conf(假设安装目录为/usr/local/nginx),可以使用文本编辑器打开该文件进行修改,例如使用vi或nano编辑器,以下是一个简单的示例,使用vi编辑器打开配置文件:
sudo vi /usr/local/nginx/conf/nginx.conf
修改完成后,保存文件并退出编辑器,然后可以通过以下命令重新加载Nginx配置,使修改生效:
sudo /usr/local/nginx/sbin/nginx s reload