下载安装

nginx版本

Nginx分为开源的 Nginx Open Source版、付费的 Nginx Plus版。

Nginx官网 提供的 Nginx Open Source有三种版本:

查看nginx所有开源版本下载页

  • Mainline version:目前主力正在做的版本(即开发版)
  • Stable version:最新稳定版(生产环境上建议使用的版本)
  • Legacy version:遗留的老版本的稳定版

此处下载stable版本的nginx.

安装依赖

还需要安装相关依赖:pcre、openssl、zlib、gcc等

  1. yum install -y make zlib zlib-devel pcre-devel openssl openssl-devel
  2. yum install -y gcc-c++ libtool

安装后验证:

  1. # 验证pcre是否安装成功
  2. pcre-config --version

安装nginx

将nginx安装包上传服务器并解压:

  1. tar -zxvf nginx-1.20.0.tar.gz

进入解压目录,进行检查并创建makefile、objs:

  1. # 如果想要支持代理https,则需要添加参数
  2. # ./configure --prefix=/usr/local/nginx --with-http_ssl_module
  3. ./configure

进行make:

  1. # 需要sudo权限,否则/usr/local/nginx文件夹无法创建
  2. sudo make && sudo make install

如果使用 make && make install 因为权限报错:


  1. 执行 make clean进行清理;

  2. 然后执行./configure重新生成makefile;

  3. 然后再次尝试sudo make && sudo make install

安装成功后,会在 /usr/local下生成nginx文件夹,nginx文件夹下的sbin文件夹中存放有启动脚本。

将nginx修改为非root用户

nginx安装到了/usr/local/nginx,该文件夹默认属于root用户:

  1. # 将nginx文件夹所属用户改为自己创建的用户
  2. chown -hR nginx:nginx /usr/local/nginx

修改/usr/local/nginx/conf/nginx.conf文件中的端口号:

nginx默认的端口号是80。在Linux系统中,1024以下的端口绑定都需要root权限

  1. # .......
  2. http {
  3. include mime.types;
  4. default_type application/octet-stream;
  5. # ..........
  6. server {
  7. listen 8888; # 此处修改为1024以上的端口
  8. server_name localhost;
  9. # ........
  10. }
  11. }

加入环境变量

nginx安装完成后,默认只有进入 /usr/local/nginx/sbin文件夹中才能运行nginx脚本命令,可以将该文件夹加入PATH环境变量中:

  1. export NGX_HOME=/usr/local/nginx
  2. export PATH=$PATH:$NGX_HOME/sbin

Nginx操作

启动nginx

进入/usr/local/nginx/sbin目录,启动nginx(如果没有修改nginx文件夹权限,默认需要有root权限的用户才能执行):

  1. ./nginx

执行之后, 使用ps -ef| grep nginx查看进程,会出现两个nginx进程:

  • nginx: master process ./nginx
  • nginx: worker process

nginx默认的server端口为80,启动后可以直接使用浏览器访问nginx服务器:http://192.168.29.143

linux防火墙设置,将80端口开放:

  1. # 查看开放的端口号
  2. firewall-cmd --list-all
  3. # 设置开放的端口
  4. firewall-cmd --add-service=http --permanent
  5. sudo firewall-cmd --add-port=80/tcp --permanent
  6. # 重启防火墙
  7. firewall-cmd --reload

常用命令

nginx常用命令:

  1. # 查看版本号
  2. ./nginx -v
  3. # 启动nginx
  4. ./nginx
  5. # 停止nginx
  6. ./nginx -s stop
  7. # 重新加载nginx.conf (修改配置不需要停机,热部署)
  8. ./nginx -s reload
  9. # 使用指定的配置文件启动
  10. ./nginx -c 配置文件路径/nginx.conf