- 源代码编译安装的好处:
- 可以根据自己的需求进行定制化安装,可以选择需要的功能和配置选项,对于新手来说,可以对服务了解更加具体。
- 安装时不需要网络,可以进行离线安装
- 源代码编译安装的坏处:
- 1.编译和安装的过程相对复杂。
- 2.安装的时间较长
- 3.需要手动解决复杂的依赖关系
- 4由于源代码编译安装不受官方包管理器的管理,升级和卸载可能会更加困难。
- 1.使用yum安装前提所需软件:
- yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel
- 2.将源代码软件包复制到/usr/src目录下,进行解压和配置安装。
- 1.挂在光盘:
- mount /dev/cdrom /mnt/
- 2.复制光盘中的软件包到/usr/src
- cp -rp /mnt/nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz /usr/src/
- cp -rp /mnt/ngx_cache_purge-2.3.tar.gz /usr/src/
- cp -rp /mnt/nginx-1.12.0.tar.gz /usr/src/
- 3.解压,配置安装:
- 创建一个程序用户:(用于专门的登录和管理nginx,提高安全性)
- useradd -s /sbin/nologin nginx
- cd /usr/src/
- tar xf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz
- tar xf ngx_cache_purge-2.3.tar.gz
- tar xf nginx-1.12.0.tar.gz
- cd nginx-1.12.0/ (进入nginx解压后的文件)
- ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_realip_module --with-http_ssl_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 --with-pcre --add-module=../ngx_cache_purge-2.3 --with-http_flv_module --add-module=../nginx-goodies-nginx-sticky-module-ng-08a395c66e42 && make && make install (配置编译和安装)
- 创建一个程序用户:(用于专门的登录和管理nginx,提高安全性)
- 3.添加nginx为系统服务并启动
- ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
- mkdir -p /var/tmp/nginx/client
- chown -R nginx:nginx /var/tmp/nginx/ (设置所有组和所有者)
- 编辑一个启动脚本(nginx启动脚本就是为了方便对nginx服务的启动,关闭,状态查询,热修改的一个脚本文件):
- vim /etc/init.d/nginx
- #!/bin/bash
- # chkconfig: 2345 99 20
- # description: Nginx Service Control Script
- PROG="/usr/local/nginx/sbin/nginx"
- PIDF="/usr/local/nginx/logs/nginx.pid"
- case "$1" in
- start)
- netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
- if [ $? -eq 0 ]
- then
- echo "Nginx service already running."
- else
- $PROG -t &> /dev/null
- if [ $? -eq 0 ] ; then
- $PROG
- echo "Nginx service start success."
- else
- $PROG -t
- fi
- if [ $? -eq 0 ] ; then
- $PROG -t &> /dev/null
- fi
- ;;
- stop)
- netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
- if [ $? -eq 0 ]
- then
- kill -s QUIT $(cat $PIDF)
- echo "Nginx service stop success."
- else
- echo "Nginx service already stop"
- fi
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- status)
- netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
- if [ $? -eq 0 ]
- then
- echo "Nginx service is running."
- else
- echo "Nginx is stop."
- fi
- ;;
- reload)
- netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
- if [ $? -eq 0 ]
- then
- $PROG -t &> /dev/null
- if [ $? -eq 0 ] ; then
- kill -s HUP $(cat $PIDF)
- echo "reload Nginx config success."
- else
- $PROG -t
- fi
- else
- echo "Nginx service is not run."
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|reload}"
- exit 1
- esac
- chmod +x /etc/init.d/nginx (增加执行权限)
- chkconfig --add nginx (添加系统服务)
- chkconfig nginx on 设置自启动
- service nginx start (启动服务)
- nignx -t 检查配置文件
- 显示如下次内容则代表配置文件无误
- 访问即可:http://ip
- 显示此页面则恭喜你nginx搭建成功
-
- 1.挂在光盘:
- 源代码安装nginx各个主目录存放位置:
- /usr/local/nginx/ 安装目录
- /usr/local/nginx/conf/nginx.conf 主要配置文件
- /usr/local/nginx/html/ 网页根目录
- /usr/local/nginx/log/ 存放日志的位置 access.log 访问日志 error.log 错误日志