centos7.x 编译安装nginx

  • 安装编译工具依赖包
yum install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
1

安装参考1 安装参考2

  • 下载nginx包
wget http://nginx.org/download/nginx-1.16.0.tar.gz
1

nginx包源

  • 解压nginx包文件并进入目录
tar -zxvf nginx-1.16.0.tar.gz //解压
cd nginx-1.16.0 //进入目录
1
2
  • 配置编译参数命令(可以使用 ./configure --help 查询详细参数)
./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-pcre
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

注:安装之前需要手动创建上面指定的nginx文件夹,即/var/temp、/var/temp/nginx、/var/run/nginx/文件夹,否则启动时报错

  • 编译并安装 清除安装包文件
make && make install clean
1
  • 查找nginx安装路径并进入(查看是否存在confsbinhtml文件夹,若存在则安装成功)
whereis nginx //查找
cd /usr/local/nginx //进入目录
ls 或者 ls -l //查看
1
2
3
  • nginx操作命令
cd /usr/local/nginx/sbin/ //进入目录
./nginx //启动
./nginx -s stop //停止
./nginx -s quit //退出
./nginx -s reload //重启
1
2
3
4
5
  • 启动nginx报错 nginx: [emerg] getpwnam("nginx") failed
原因:由于编译安装的时候指定了运行账户但是没有建立这个账户
解决:新建nginx的运行账户
命令:useradd -s /sbin/nologin -M nginx
1
2
3
  • 新建账户后运行nginx依然报错 nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
原因:运行时找不到指定文件夹
解决:新建对应的文件夹
命令:mkdir -p /var/tmp/nginx/client
1
2
3
  • 再次运行nginx ./nginx,若无报错,则说明启动成功,在浏览器输入服务器公网ip,出现下图则说明nginx运行成功 nginx
Last Updated: 8/24/2019, 2:52:32 PM