Nginx系列二:编译安装nginx-1.18.0

目录

一、    从官网下载源码包    3

1、    复制下载链接    3

2、    使用wget下载源码包    4

二、    安装依赖包    4

三、    安装Nginx    4

1.解压包    4

2.预编译    4

3.编译并安装    5

4.启动Nginx    5

5.关闭防火墙    6

6.使用浏览器访问Nginx    7

四、    安装Nginx脚步    7

五、    Nginx命令    7

1.常见命令    7

2.不输入绝对路径直接执行Nginx命令    10

 

 

  1. 从官网下载源码包

    1. 复制下载链接

登录http://nginx.org官网,选择download稳定版本,复制链接地址。

  1. 使用wget下载源码包

wget http://nginx.org/download/nginx-1.18.0.tar.gz

  1. 安装依赖包

yum install gcc  gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

  1. 安装Nginx

  1. 解压包

tar -xzvf nginx-1.18.0.tar.gz

  1. 预编译

cd nginx-1.18.0

useradd -s /sbin/nologin www -M

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module

cat Makefile

  1. 编译并安装

make && make install

  1. 启动Nginx

/usr/local/nginx/sbin/nginx  启动Nginx

ps -ef|grep nginx  查看Nginx进程

netstat -tnlp|grep 80  查看监听端口,过滤80端口

  1. 关闭防火墙

关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

2、关闭SElinux:

/usr/sbin/setenforce 0 立刻关闭 SELINUX

加到系统默认启动里面

echo "/usr/sbin/setenforce 0" >> /etc/rc.local

这样,我们在不需要在CentOS系统中开启SELINUX的时候,就可以快速的去关闭了,以及在需要的时候,在开启它。

  1. 使用浏览器访问Nginx

  1. 安装Nginx脚步

根据以上步骤汇总的nginx-1.18.0自带安装脚步

  1. Nginx命令

  1. 常见命令

-h帮助命令

-v      可查看nginx的版本。

-V      可查看nginx的详细信息,包括编译的参数。

-t      可用来测试nginx的配置文件的语法错误。

-T      可用来测试nginx的配置文件语法错误,同时还可以通过重定向备份 nginx的配置文件。

-q      如果配置文件没有错误信息时,不会有任何提示,如果有错误,则提 示错误信息,与-t配合使用。

-s      发送信号给master处理:      

stop    立刻停止nginx服务,不管请求是否处理完      

quit    优雅的退出服务,处理完当前的请求退出      

reopen 重新打开日志文件,原日志文件要提前备份改名。      

reload  重载配置文件

-p       设置nginx家目录路径,默认是编译时的安装路径

-c      设置nginx的配置文件,默认是家目录下的配置文件 -g      设置nginx的全局变量,这个变量会覆盖配置文件中的变量

  1. 启动Nginx

    nginx

  2. 立即停止Nginx

    nginx -s stop

  3. 优雅停止Nginx

    nginx -s quit

  4. 重新打开日志文件

    重新打开日志文件,如需保留原来的日志需要提前备份

    [root@localhost logs]# ls access.log  error.log  nginx.pid [root@localhost logs]# mv access.log{,.bak}  备份日志

    [root@localhost logs]# ls

    access.log.bak  error.log  nginx.pid

    [root@localhost logs]# /usr/local/nginx/sbin/nginx -s reopen [root@localhost logs]# ls

    access.log  access.log.bak  error.log  nginx.pid

  5. 重载配置文件

    修改配置文件

    重载配置文件

    /usr/local/nginx/sbin/nginx -s reload

  6. 启动指定的配置文件

    /usr/local/nginx/sbin/nginx  -c /data/nginx.conf

  7. 设置全局变量

通过设置全局变量,让nginx在前端运行。

[root@localhost logs]# /usr/local/nginx/sbin/nginx  -g "daemon off;"

现在当前nginx在前端运行, 输入ctrl +c,则nginx就退出了。 可以使用ctrl +z放置后台运行。

8)其他查看命令

netstat -ntlpa |grep 80

ps -ef |grep nginx

yum安装截图

编译安装截图

  1. 不输入绝对路径直接执行Nginx命令

编译安装的Nginx默认,执行命令需要输入绝对路径,使用以下三种方式可以直接执行Nginx命令

  1. 软链接

    ln -s /usr/local/nginx/sbin/* /usr/local/sbin

    然后重新读取下配置文件

    . /etc/profile

    ps:软连接做在PATH路径是第一位,因为yum安装的在/usr/sbin/目录下, which安装PATH的顺序找到第一个,就不找了

  2. 配置环境变量

    echo "export PATH=/usr/local/nginx/sbin:$PATH" > /etc/profile.d/nginx.sh

然后重新读取下配置文件

source /etc/profile

ps:最好写在$PATH前面,否则,如果安装了yum版的nginx, 直接执行nginx会启动yum版的nginx,因为which nginx,会先找 到/usr/sbin/nginx文件

  1. 设置别名

alias  nginx='/usr/local/nginx/sbin/nginx'

ps:which优先找别名

alias命令只作用于当次登入的操作。如果想每次登入都能使用这些命令的别名,则可以把相应的alias命令存放在 ~/.bashrc 文件中。

打开~/.bashrc文件,输入要设置的alias命令,保存。

alias  nginx='/usr/local/nginx/sbin/nginx'

然后运行

source ~/.bashrc1

备注:推荐使用别名的方式。软连接和环境变量的方式,在升级Nginx时会出现错误。这是Nginx软件自身的bug问题,目前没有其他的解决方案。

猜你喜欢

转载自blog.51cto.com/monty/2540191