电脑系统城官网 - 一键重装系统-Win7旗舰版/win10 64位系统下载,唯一官网:www.pcxitongcheng.com!

当前位置:首页 > server > anz > 详细页面

Nginx 安装详细教程

时间:2020-02-14来源:系统城作者:电脑系统城

1. Nginx简单介绍

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

更多关于Nginx介绍以及作用请自行百度

2.安装Nginx基础依赖包


 
  1. [root@nginx ~]# yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y

3.下载相关的软件包3.1下载nginx稳定版

注:进入Nginx安装包下载地址复制您想要的版本链接,我这里以Nginx-1.14.0为例。


 
  1. [root@nginx~]# cd /usr/local/src/
  2. [root@ nginx src]# wget http://nginx.org/download/nginx-1.14.0.tar.gz

3.2 下载nginx-sticky模块(可选安装,应用于集群)

作用:后端做负载均衡解决session sticky问题。


 
  1. [root@nginx src]# wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz

3.3下载ngx_cache_purge模块(可选安装)

作用:将ngx_cache_purge编译到到Nginx中,用来清除指定URL的缓存。

(官网地址:http://labs.frickle.com/nginx_ngx_cache_purge/)


 
  1. [root@nginx src]# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

Nginx 安装详细教程

4.添加Nginx用户和组


 
  1. [root@nginx ~]# groupadd www
  2. [root@nginx ~]# useradd -g www www -s /sbin/nologin

注:创建nginx运行用户www并加入到www组,不允许www用户直接登录系统。

5.解压Nginx源码包并进入解压目录,进行编译安装


 
  1. [root@nginx src]# tar zxf nginx-1.14.0.tar.gz
  2. # 注意3.2的可选项
  3. [root@nginx src]# tar zxf ngx_cache_purge-2.3.tar.gz
  4. # 注意3.3的可选项
  5. [root@nginx src]# tar zxf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz
  6. [root@nginx src]# cd nginx-1.14.0/

注:‘='号后面是自己安装包的绝对路径,和配置文件路径。


 
  1. [root@nginx-master nginx-1.14.0]# ./configure --prefix=/usr/local/nginx
  2. > --user=www --group=www
  3. > --with-http_stub_status_module
  4. > --with-http_realip_module --with-http_ssl_module
  5. > --with-http_gzip_static_module
  6. > --http-client-body-temp-path=/var/tmp/nginx/client
  7. > --http-proxy-temp-path=/var/tmp/nginx/proxy
  8. > --http-fastcgi-temp-path=/var/tmp/nginx/fcgi
  9. # 注意3.2的可选项
  10. > --with-pcre --add-module=/usr/local/src/ngx_cache_purge-2.3
  11. # 注意3.3的可选项
  12. > --add-module=/usr/local/src/nginx-goodies-nginx-sticky-module-ng-08a395c66e42

Nginx 安装详细教程

执行完编译后:

Nginx 安装详细教程


 
  1. [root@nginx nginx-1.14.0]# make && make install

注:Nginx的所有模块必须在编译的时候添加,不能再运行的时候动态加载。

6.优化Nginx程序的执行路径


 
  1. [root@nginx nginx-1.14.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
  2. [root@nginx nginx-1.14.0]# nginx -t

如果出现以下问题:

Nginx 安装详细教程

需要创建此目录:


 
  1. [root@nginx nginx-1.14.0]# mkdir -p /var/tmp/nginx/client

Nginx 安装详细教程

7.配置Nginx开机自启动等命令,方便我们管理Nginx

原始管理nginx的命令,不是很方便!


 
  1. [root@nginx-master ~]# nginx 启动nginx
  2. [root@nginx-master ~]# nginx -s reload 重启nginx
  3. [root@nginx-master ~]# nginx -s stop 停止nginx

接下来设置常用的管理命令:

1) 创建开机启动命令脚本文件:


 
  1. [root@nginx ~]# vim /etc/init.d/nginx

2) 在这个Nginx文件中插入一下启动脚本代码:


 
  1. -----------------------------------脚本如下 -----------------------------------
  2. #! /bin/bash
  3. # chkconfig: - 85 15
  4. PATH=/usr/local/nginx
  5. DESC="nginx daemon"
  6. NAME=nginx
  7. DAEMON=$PATH/sbin/$NAME
  8. CONFIGFILE=$PATH/conf/$NAME.conf
  9. PIDFILE=$PATH/logs/$NAME.pid
  10. scriptNAME=/etc/init.d/$NAME
  11. set -e
  12. [ -x "$DAEMON" ] || exit 0
  13. do_start() {
  14. $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
  15. }
  16. do_stop() {
  17. $DAEMON -s stop || echo -n "nginx not running"
  18. }
  19. do_reload() {
  20. $DAEMON -s reload || echo -n "nginx can't reload"
  21. }
  22. case "$1" in
  23. start)
  24. echo -n "Starting $DESC: $NAME"
  25. do_start
  26. echo "."
  27. ;;
  28. stop)
  29. echo -n "Stopping $DESC: $NAME"
  30. do_stop
  31. echo "."
  32. ;;
  33. reload|graceful)
  34. echo -n "Reloading $DESC configuration..."
  35. do_reload
  36. echo "."
  37. ;;
  38. restart)
  39. echo -n "Restarting $DESC: $NAME"
  40. do_stop
  41. do_start
  42. echo "."
  43. ;;
  44. *)
  45. echo "Usage: $scriptNAME {start|stop|reload|restart}" >&2
  46. exit 3
  47. ;;
  48. esac
  49. exit 0

 
  1. [root@nginx ~]# cd /etc/init.d/

3) 设置所有人都有对这个启动脚本nginx文件的执行权限:


 
  1. [root@nginx init.d]# chmod a+x nginx

4) 把nginx加入系统服务中:


 
  1. [root@nginx init.d]# chkconfig --add nginx

5) 把服务设置为开机启动:


 
  1. [root@nginx init.d]# chkconfig nginx on

注:reboot重启系统生效!

6) 重启后,就可以执行如下命令进行管理了


 
  1. systemctl start nginx.service # 启动nginx
  2. systemctl stop nginx.service # 结束nginx
  3. systemctl restart nginx.service # 重启nginx
  4. systemctl enable nginx.service # 开机启动

8. 如果出现 Nginx 启动不了,请尝试以下方法

1) 如果之前安装过httpd,侧需要先卸载httpd,否则启动失败,除非修改Nginx启动端口。


 
  1. [root@nginx ~]# yum remove httpd -y

2) 如果还是启动不来,再试试这个方法:杀死Nginx相关的进程之后,启动Nginx


 
  1. [root@nginx ~]#ps -A | grep nginx
  2. [root@nginx ~]#kill -9 pid1
  3. [root@nginx ~]#kill -9 pid2

3) 如果还是不行,查看日志信息解决。

9.启动Nginx并访问测试

Nginx 安装详细教程

注:后续继续更新Nginx优化及反向代理功能!

总结

以上所述是小编给大家介绍的Nginx 安装详细教程,希望对大家有所帮助!

分享到:

相关信息

  • 史上最便捷搭建 ZooKeeper 服务器的方法

    史上最便捷搭建 ZooKeeper 服务器的方法,ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服...

    2020-06-09

  • 如何为小型企业选购优秀服务器硬件

    各种规模的企业都需要依靠服务器来支持其工作负载,小型企业也不例外。但是选购服务器可能是一项艰巨的任务,因为除服务器本身外,还有很多因素需要考虑。...

    2020-06-09

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载

公众号