Linux安装Nginx(非Docker)
2020-04-07 12:26
1391 查看
Linux安装Nginx(非Docker)
在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel
# 查看是否安装 yum list installed | grep gcc yum list installed | grep pcre-devel yum list installed | grep zlib-devel yum list installed | grep openssl-devel # 安装 yum -y install gcc pcre-devel zlib-devel openssl-devel
下载安装Nginx
# 服务器下载: wget http://nginx.org/download/nginx-1.16.1.tar.gz #版本自选 # 本地下载上传 sftp... # 安装Nginx ## 解压 tar -zxvf nginx-1.16.1.tar.gz ##进入nginx目录 cd nginx-1.16.1 ## 配置 ./configure --prefix=/usr/local/nginx ## make make make install # 测试是否成功 ## cd到刚才配置的安装目录 cd /usr/local/nginx/ ./sbin/nginx -t ### 错误信息: nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory) 2016/09/13 19:08:56 [emerg] 6996#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory) 原因分析:nginx/目录下没有logs文件夹 解决方法:mkdir logs chmod 700 logs ### 正常情况的信息输出: nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful # 启动Nginx cd /usr/local/nginx/sbin ./nginx # 使用CentOS7需要进行以下配置 firewall-cmd --query-port=80/tcp # 查看端口是否开放 firewall-cmd --add-port=80/tcp --permanent # 增加开放端口 systemctl restart firewalld # 重启防火墙 # 配置Nginx开机自启动 ## 在系统服务目录里创建nginx.service文件 vi /usr/lib/systemd/system/nginx.service ## 写入内容如下: [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target ## 设置开机自启动 systemctl enable nginx.service ## 查看Nginx状态 systemctl status nginx.service ### 若显示Active: inactive (dead),则需要执行以下操作: pkill -9 nginx ps aux | grep nginx systemctl start nginx ## 重启服务器 reboot # nginx自启动配置成功
优化配置Nginx
Nginx后端服务指定的Header隐藏状态(隐藏Nginx后端服务X-Powered-By头)
隐藏Nginx后端服务指定Header的状态: 1、打开conf/nginx.conf配置文件; 2、在http下配置proxy_hide_header项; 增加或修改为 proxy_hide_header X-Powered-By; proxy_hide_header Server;
隐藏Nginx服务的Banner(Nginx服务的Banner隐藏状态)
Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态: 1、打开conf/nginx.conf配置文件; 2、在server栏目下,配置server_tokens项 server_tokens off;
Nginx的WEB访问日志记录状态(Nginx后端服务指定的Header隐藏状态)
开启Nginx的WEB访问日志记录: 1、打开conf/nginx.conf配置文件; 2、在http下配置access_log项 access_log logs/host.access.log main; 3、 并删除off项
检查Nginx进程启动账号(Nginx进程启动账号状态,降低被攻击概率)
修改Nginx进程启动账号: 1、打开conf/nginx.conf配置文件; 2、查看配置文件的user配置项,确认是非root启动的; 3、如果是root启动,修改成nobody或者nginx账号; 备注: 4、修改完配置文件之后需要重新启动Nginx
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 安装Docker(附安装最新版本教程)
- 安装Docker-Win10环境-图解轻松学Docker&K8S
- Docker网络模式与配置Docker自定义网络(bridge模式)
- k8s中部署prometheus常用exporter
- Docker Quickstart Terminal windows10系统下出现闪退的解决方案
- Docker搭建MySQL主从复制
- docker
- Docker底层网络经典文章分享
- Docker Desktop for Mac安装Kubernetes解决kubernetes is starting...
- 树莓派docker搭建配置
- Docker+基本命令
- Docker+Dockerfile
- Docker-Machine
- Docker安装配置
- Docker镜像推送到阿里云
- Boot2Docker
- Docker 高可用集群
- Docker-Swarm
- IDEA中Docker的完美结合
- Docker的使用系列教程-1 什么是Docker