Linux安装Nginx(非Docker)

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
发布了6 篇原创文章 · 获赞 0 · 访问量 1084

猜你喜欢

转载自blog.csdn.net/true2over/article/details/104951466