CentOS上Nginx编译安装

1.安装环境

CentOS

2.软件版本

nginx-1.16.0.tar.gz

pcre-8.38.tar.gz(让Nginx 支持 Rewrite 功能)

3.准备工作

非root用户无法使用1024以下端口,Nginx通常监听80端口,所以主进程使用root启动,nginx子进程默认配置为nginx.conf的第一行,默认为nobody,nobody没有静态资源的访问权限。

  • 用户权限
# 新建一个没有登录权限的nginx子进程用户
useradd -s /sbin/nologin nginx
# 赋予需要访问的静态资源的权限
chown -R nginx /home/nginx/front/pro_name
chgrp -R nginx /home/nginx/front/pro_name
  • 上传软件
#安装上传下载软件包lrzsz
yum install lrzsz
4.安装依赖
yum -y install make zlib zlib-devel gcc gcc-c++ libtool  openssl openssl-devel

1.编译需要 gcc 环境,gcc gcc-c++

2.PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,所以需要:pcre pcre-devel ;#PCRE 作用是让 Nginx 支持 Rewrite 功能

3、zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库,所以需要:zlib zlib-devel ;

4、OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库,所以需要:openssl openssl-devel ;

tar zxvf pcre-8.38.tar.gz
cd pcre-8.38/
./configure
make && make install
3.安装配置
  • 安装Nginx
# 上传nginx安装包
cd /home/nginx
rz nginx-1.16.0.tar.gz
tar zxvf nginx-1.16.0.tar.gz
cd /home/nginx/nginx-1.16.0
# 配置,指定编译之后安装目录(--prefix=没有指定安装目录,则默认安装到/usr/local)
./configure --prefix=/home/nginx/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/home/nginx/pcre-8.38
# 编译安装
make && make install
chown -R nginx.nginx *
  • 添加环境变量
# 添加环境变量
vi /etc/profile
unset i
unset -f pathmunge
export JAVA_HOME=/usr/local/jdk1.8.0_144
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:/home/nginx/nginx/sbin
# 使环境变量生效
source /etc/profile
# 查看nginx版本
nginx -v
  • 配置Nginx
# 指定子进程的用户
vi /home/nginx/nginx/conf/nginx.conf
user nginx;
  • 配置Nginx自启动
# 添加nginx服务
vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/home/nginx/nginx/logs/nginx.pid
# nginx.pid文件在nginx.conf中默认配置位置为logs/nginx.pid
ExecStartPre=/usr/bin/rm -f /home/nginx/nginx/logs/nginx.pid
ExecStartPre=/home/nginx/nginx/sbin/nginx -t
ExecStart=/home/nginx/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# 重载
systemctl daemon-reload
# 以服务的方式启动nginx
systemctl start nginx
# 验证服务是否启动成功
systemctl status nginx
# 停止nginx服务
systemctl stop nginx
# 配置nginx服务自动启动
systemctl enable nginx
# 启动报错原因
journalctl -a --unit nginx
  • 配置环境变量
vim /home/<user>/.bashrc
# 添加nginx用户变量
export PATH=$PATH:~/nginx/sbin

# 重载
. ~/.bashrc
nginx -s reload
  • Nginx常用命令
# 启动
nginx
# 重启
nginx -s reload
# 停止
nginx -s stop
# 强制关闭nginx服务
ps aux | grep nginx
kill -9 [nginx]
# 测试nginx配置
nginx -t
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上富贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值