nginx源码下载和测试
官网:nginx
源码包: nginx-1.19.3.tar.gz
源码包下载: wget http://nginx.org/download/nginx-1.19.3.tar.gz -P /usr/src
进入官网
以1.27.5为例
第一步,创建nginx的文件夹
mkdir /usr/local/nginxcd ~
第二步创立文件后拖入
第三步:解压文件
tar -zxvf nginx-1.27.5.tar.gzllcd nginx-1.27.5
第四步:下载编译
yum -y install gcc pcre-devel zlib-devel
第五步:指定安装路径
./configure --prefix=/usr/local/nginx
你在加载完后会在底下看到下面一样的注释
nginx path prefix: "/usr/local/nginx" 安装路径
nginx binary file: "/usr/local/nginx/sbin/nginx" 二进制文件(可执行文件)
nginx modules path: "/usr/local/nginx/modules"
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"
第六步:编译源码
make
第七步:编译安装nginx
make install
第八步:启动nginx并测试
cd /usr/local/nginxllcd sbin-- 启动nginx
./nginx-- 测试是否启动
curl localhost
第九步:将配置文件通过软连接的方式
命令 描述
/usr/local/nginx/sbin/nginx 启动 Nginx 服务
/usr/local/nginx/sbin/nginx -s stop 快速关闭 Nginx(立即停止)
/usr/local/nginx/sbin/nginx -s quit 正常关闭 Nginx(等待工作进程完成当前任务后关闭)
/usr/local/nginx/sbin/nginx -s reload 在不中断服务的情况下重新加载配置文件
/usr/local/nginx/sbin/nginx -t 测试配置文件语法,但不启动服务器
/usr/local/nginx/sbin/nginx -t -c /path/to/nginx.conf 使用指定的配置文件测试语法
/usr/local/nginx/sbin/nginx -v 查看 Nginx 版本信息
ln -s /usr/local/nginx/sbin/nginx /bin
第十步:测试软连接是否成功
cd /nginx -s stopcurl localhost
第十一步:编写服务配置文件
cd /usr/lib/systemd/system
第十二步:编写nginx服务文件
vim nginx.service
第十三步:将下面的配置信息放入,把注释删了
[Unit]
Description=nginx nginx信息介绍
After=network.target 启动时间(这里是在网络启动之后,再启动)[Service] 服务文件信息
Type=forking 后台运行
PIDFile=/usr/local/nginx/logs/nginx.pid PID文件的位置(用来确定服务运行是不是唯一的)
ExecStartPre=/usr/local/nginx/sbin/nginx -t 在启动服务之前做什么(这里是检查配置文件是否有错误)
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
最后测试:
systemctl start nginxcurl localhost