简述
在工作中可能因为各种需求会涉及到nginx的个性化安装,所以需要进行编译安装的方式来安装nginx,本文以淘宝的tnginx安装为例,其他版本安装方式大同小异。
1.服务器准备
#1.设置固定ip
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="6fc8b8c3-63bc-4b82-b7aa-379df8923306"
DEVICE="ens32"
ONBOOT="yes"
IPADDR=192.168.10.52
GATEWAY=192.168.10.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8
~
#2.设置主机名
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostnamectl set-hostname nginx-test
[root@localhost ~]# bash
[root@nginx-test ~]#
#3.常用软件工具安装
yum install -y wget vim net-tools chrony
#4.时间同步配置(解决时间不准问题)
systemctl enable chronyd
systemctl restart chronyd
systemctl status chronyd
chronyc sources -v
#5.停止且禁用防火墙(注意根据需求)
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
#6.关闭交换分区-swap(根据需求)
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
free
2.tenginx安装
#1.进入opt目录,下载tnginx压缩包,解压压缩包,进入压缩包
cd /opt
wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz
tar -zxvf tengine-2.3.3.tar.gz
cd tengine-2.3.3
#2.安装编译需要的依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
#3.通过./configure --help查看各种相关参数,可根据自定义定制安装
./configure --help
./configure --prefix=/opt/tngx233 \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-threads --with-file-aio
#4.make && make install 进行安装(等待完成且无报错进行下一步)
make
make install
#5.退出tengine-2.3.3目录,回到/opt目录,此时会看到生成了一个新的文件夹为tngx233,就是指定安装的目录,进入目录
cd ..
ls
#此时会看到tngx233
#6.进入tngx233/sbin执行./nginx可启动nginx 或者直接执行./opt/tngx233/sbin
cd /opt/tngx233/sbin
./nginx
#此时可以打开浏览器输入ip测试能否访问
#7.配置path变量,可以不论在哪个目录下都能正常使用nginx直接启动服务
vim /etc/profile.d/nginx.sh
export PATH="$PATH:/opt/tngx233/sbin/"
#8.bash加载使得配置的路径生效
bash
echo ${PATH}
#9.查看nginx是否启动,使用netstat -ntlp 命令查看是否存在80的端口,存在则启动成功
netstat -ntlp
3.浏览器访问验证
4.nginx日志切割
#1.找到日志文件目录,为写脚本时做准备
[root@localhost myscripts]# find / -name 'access.log'
/opt/tngx233/logs/access.log
[root@localhost myscripts]#
#2.创建存放脚本的目录/myscripts/ 并进入
mkdir /myscripts/
cd /myscripts/
#3.创建脚本文件cut_nginx_log.sh 并写入脚本内容
vim cut_nginx_log.sh
#!bin/bash
logs_path="/opt/tngx233/logs/"
mkdir -p ${logs_path}"$(date +%Y)"/"$(date +%m)"
mv ${logs_path}access.log ${logs_path}"$(date +%Y)"/"$(date +%m)"/access_$(date -d "yesterday" +"%Y-%m-%d").log
nginx -s reopen
#4.把脚本加入到执行任务,加入到crontab 每天0点执行,crontab -e 打开定时任务(注意格式* * * * * 命令,分时日月周 要执行的命令)
crontab -e
0 0 * * * /bin/bash /myscripts/cut_nginx_log.sh
自此,tnginx的部署完毕!! 有问题欢迎留言探讨。