avatar

目录
CentOS7 安装Nginx

Centos7 安装Nginx

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、[京东]、[新浪]、[网易]、[腾讯]、[淘宝]等。

准备工作

①安装gcc

nginx是C语言开发,建议在linux上运行。

安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc

Code
1
yum install gcc-c++

②安装PCRE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

Code
1
2
yum install -y pcre pcre-devel   
# pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库.

③安装zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

Code
1
yum install -y zlib zlib-devel

④安装openssl

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

Code
1
yum install -y openssl openssl-devel

编译安装Nginx

①下载Nginx

个人推荐去Nginx官网下载稳定版👉http://nginx.org/en/download.htmlds👉nginx-1.16.1.tar.gz

Code
1
wget http://nginx.org/download/nginx-1.16.1.tar.gz

如果下载慢的话点这里Nginx;上面已将下载好的直接跳到👉②

这里需要一个传输工具FileZilla;需要的🤜FileZilla

使用SFTP的协议登录后

nginx-1.16.1.tar.gz放到,远程服务器的/usr/loacl/目录下

②解压

Code
1
tar -zxvf nginx-1.16.1.tar.gz nginx-1.16.1

③进入nginx-1.16.1目录,配置参数

Code
1
2
3
4
5
6
7
8
9
10
11
12
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

④编译、安装

编译

Code
1
make

安装

Code
1
make install

编译+安装

Code
1
make && make install

启动Nginx

安装好之后/usr/loacl/目录下会有一个nginx文件

进入文件

Code
1
cd /usr/local/nginx/sbin/nginx

启动

Code
1
./nginx

这是会报一个错

Code
1
nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)

按照提示解决

Code
1
mkdir -p /var/temp/nginx/client

再次启动

Code
1
./nginx

查看是否在后台运行

Code
1
ps -ef | grep nginx

如果有的话就说明成功了

测试访问下

在浏览器上

Code
1
Ip:80   # 你服务器的IP地址 nginx的默认端口

出现Welcome to nginx! ;说明安装成功!!

停止nginx

①快速停止:

进入目录文件

Code
1
cd /usr/local/nginx/sbin

停止

Code
1
./nginx -s stop

此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程

②完整停止(建议使用)

Code
1
./nginx -s quit

此方式停止步骤是待nginx进程处理任务完毕进行停止

重启Nginx

①先停止再启动(建议使用)

对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。

Code
1
2
./nginx -s quit
./nginx

②重新加载配置文件

当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用以下命令,不用先停止

Code
1
./nginx -s reload

上面的每个命令都必须在 Nginx的跟目录下执行,为了运行及使用方便,我们选择配置软链接

配置软链接

Code
1
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

配置完成后,上面的命令都不用,去Nginx根目录下执行了。

Nginx报错

nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)

解决步骤如下

  1. 进入 cd /usr/local/nginx/conf/目录,编辑配置文件nginx.conf
  2. 配置文件中有个注释的地方:#pid logs/nginx.pid;将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;
  3. /usr/local/nginx目录下创建logs 目录
  4. 重新加载Nginx服务即可
文章作者: Jack-Roc
文章链接: http://jack-roc.top/2018/10/21/nginx/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jack-Roc
打赏
  • 微信
    微信
  • 支付寶
    支付寶