1.安装依赖包

//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.下载并解压安装包

//创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz

3.安装nginx

//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.13.7
//执行命令
./configure
//执行make命令
make
//执行make install命令
make install

4.配置nginx.conf

打开配置文件
vi /usr/local/nginx/conf/nginx.conf
将端口号改成8089,因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。 修改完后到sbin 目录下 输入 ./nginx -s reload 重新加载

localhost修改为你服务器ip地址。

5.启动nginx

/usr/local/nginx/sbin/nginx -s reload
如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed

则运行:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

再次启动即可!

查看nginx进程是否启动:
ps -ef | grep nginx

6.防火墙设置

若想使用外部主机连接上虚拟机访问端口192.168.131.2,需要关闭虚拟机的防火墙:
centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7关闭防火墙命令: systemctl stop firewalld.service
随后访问该ip即可看到nginx界面。
安装完成一般常用命令
进入安装目录中,
命令:cd /usr/local/nginx/sbin
启动,关闭,重启,命令:
./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启

7.设置开机自启首先修改/etc/rc.d/rc.local文件,添加如下内容/usr/local/nginx/sbin/nginx

执行以下命令,使/etc/rc.d/rc.local变成可执行文件
chmod +x /etc/rc.d/rc.local
Reboot 重启系统后查看是否开启。

  1. Nginx反向代理配置
    1. 关闭SELinux
    vi etc/selinux/config
    执行上面的命令打开SELinux的配置文件,按 i 键进入编辑模式,将SELINUX=enforcing 改为 SELINUX=disabled,然后按esc退出编辑模式,输入:wq 保存退出,执行以下命令使配置生效。
    soure etc/selinux/config
    如果配置没有生效,建议重启Linux。
    init 6

8. nginx 常用命令

在nginx /sbin 目录下
(1)查看nginx 版本号:./nginx -v
(2)停止Nginx : ./nginx -s stop
(3)重新加载nginx : ./nginx -s reload

9. nginx配置文件

(1)全局块
从配置文件开始到events 块之间的内容,主要设置一些影响nginx 服务器整体运行的配置指令

worker_processes 1; work processes 值越大,可以支持的并发处理也越多

(2)events 块
主要影响nginx 服务器和用户的网络连接
比如; worker_connections 1024; 支持的最大连接数

(3)http块

10. nginx 日志切割

(1)创建shell 文件

(2)写入脚本

!/bin/bash
#日志文件存放目录
logspath=”/usr/local/nginx/logs/“
# pid文件
pid_path=”/usr/local/nginx/logs/nginx.pid”
#重命名日志文件
mv ${logs_path}access.log ${logs_path}access
$(date -d “yesterday” +”%Y%m%d”).log
mv ${logspath}error.log ${logs_path}error$(date -d “yesterday” +”%Y%m%d”).log
#向nginx主进程发送信号以重新打开日志
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

(3)为cut_access_log.sh添加可执行权限
chmod +x cut_access_log.sh
(4)执行cut_access_log.sh脚本信息
./cut_access_log.sh
(5) crontab -e 打开文件
0 0 * bash /usr/local/nginx/cut_access_log.sh
(6) 重启定时任务
service crond restart
常用的定时任务

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载入配置

crontab -e // 编辑任务

crontab -l // 查看任务列表

或者出现/bin/systemctl 说明是新版的可用以下命令操作:
systemctl restart crond.service 启动服务
systemctl reload crond.service 重新载入服务
systemctl status crond.service 查看运行状态