此处为.tar.gz 压缩包文件安装
准备工作
1、nginx 下载地址 nginx: download
2、 gcc-c++
查看是否已安装
gcc -v
安装
yum -y install gcc-c++
如果没有安装,使用./configure 将报错: ./configure: error: C compiler cc is not found
3、pcre
Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码
yum install -y pcre pcre-devel
如果没有安装 ./configure 虽然执行但是最后还是会报错
4、zlib
Nginx的各种模块中需要使用gzip压缩
yum install -y zlib zlib-devel
5、OpenSSL库
服务器提供安全网页时则会用到OpenSSL库
yum install -y openssl openssl-devel
安装
1、解压文件
tar -zxvf nginx-1.20.2.tar.gz // 替换自己下载的nginx文件名
2、进入文件目录
// 改成自己的目录
cd /home/common/nginx-1.20.2/
3、配置文件 (如果会使用到ssl,则在命令后面在补充 --with-http_stub_status_module --with-http_ssl_module)
// 这边是指定nginx的安装目录,替换prefix后路径 (./configure 安装目录在 /usr/local/nginx)
./configure --prefix=/home/common/nginx
//如果开启SSL模块,使用这条命令
./configure --prefix=/home/common/nginx --with-http_stub_status_module --with-http_ssl_module
4、编译安装
make && make install
如果出现以下问题(make: *** No rule to make target `build', needed by `default'. Stop.),
1)、检查pcre zlib OpenSSL 是否安装
2)、确认./configure 时是否存在错误信息
5、验证nginx
// 前往安装目录/sbin (在上面prefix后面的路径)
cd /home/common/nginx/sbin/
//测试nginx
./nginx -t
自启动
1、创建nginx.service文件
vim /usr/lib/systemd/system/nginx.service
2、输入内容,`/home/common/nginx` 替换成自己nginx目录
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/home/common/nginx/sbin/nginx
ExecStop=/home/common/nginx/sbin/nginx -s stop
ExecReload=/home/common/nginx/sbin/nginx -s reload
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[unit]
- Description :当前 unit 的描述
- After : 表示本 unit 应该在某服务之后启动
[Service]
- ExecStart :服务启动时执行的命令和参数
- ExecStop : 服务停止时执行的命令和参数
- ExecReload : 重启服务时执行的命令
- PrivateTmp : 是否使用私有的tmp目录
[Install]
- WantedBy : 表示该服务所在的Target,它的值是一个或多个Target,当前 systemctl enable 时 unit符号链接会放入 /etc/systemd/system 目录下面以 Target名 + .wants 后缀构成的子目录中
3、执行指令
// 重载入 systemctl
systemctl daemon-reload
//开启 nginx开机启动
systemctl enable nginx.service
//关闭 nginx开机启动
systemctl disable nginx.service
//开启nginx
systemctl start nginx
//关闭nginx
systemctl stop nginx
//重启nginx
systemctl restart nginx
//查看状态
systemctl status nginx
文档编写参考
Linux安装nginx到指定目录,并设置开机自启_龏皚觻髾檃的博客-优快云博客_linux安装nginx到指定目录
Ubuntu下一步一步安装nginx,make: *** No rule to make target `build', needed by `default'. Stop._枯木逢春又如何的博客-优快云博客
systemd的unit配置文件详解 - 知乎