文章目录
- 1. apt安装
- 2. 编译安装
- 2.1 启动Nginx
- 3. 防火墙问题
1. apt安装
# 默认版本安装
apt-get update
apt-get install nginx
# 选择版本安装
apt-get update
apt-cache show nginx
apt-get install nginx=1.18.0-0ubuntu1.3
# 启动
service nginx start
# 重启
service nginx restart
# 热重载
nginx -s reload
# 检查配置文件是否正确
nginx -t
# 重新加载配置文件
nginx -s reload
# 查看安装nginx时使用的命令
nginx -V
# 快速停止
service nginx stop
# 处理完当前请求后停止
service nginx quit
默认安装目录
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放项目文件
/var/log/nginx:存放日志
或
/var/www/html:存放项目目录
/var/log/nginx:存放日志
一般自动安装配置文件目录和主程序目录不变,因为版本原因,其它目录可能会变,但是都可以从配置文件里ngxin.conf里找到对应的位置。
2. 编译安装
Nginx常用版本
- Nginx开源版:http://nginx.org/
- Nginx plus 商业版:https://www.nginx.com
- openresty:http://openresty.org/cn/
- Tengine:http://tengine.taobao.org/
以开源版为例。
下载并解压后可以看到安装包结构。
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
1.先安装依赖包
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
# Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
2.安装nginx--prefix=
后面的是安装目录,也可以不指定。
# 依次执行以下命令
./configure --prefix=/usr/local/nginx
make
make install
不指定安装目录时,默认位置为
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放项目文件
/var/log/nginx:存放日志
一般自动安装配置文件目录和主程序目录不变,因为版本原因,其它目录可能会变,但是都可以从配置文件里ngxin.conf里找到对应的位置。
2.1 启动Nginx
进入安装好的目录 /usr/local/nginx/sbin
./nginx 启动
./nginx -s stop 快速停止
./nginx -s quit 在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置
ps -ef | grep nginx 查看有关nginx的进程
网页输入ip地址,访问成功,即安装完成。
3. 防火墙问题
ubuntu
Ubuntu默认使用ufw
来管理防火墙,系统已经默认安装,若没有可重新安装。
1.安装
sudo apt-get install ufw
2.启用
sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。
关闭所有外部对本机的访问,但本机访问外部正常。
# 1.查看防火墙状态
ufw status
# 2.防火墙版本
ufw version
# 3.开启/禁用
sudo ufw allow|deny [service]
# 举例
ufw allow smtp #允许所有的外部IP访问本机的25/tcp (smtp)端口
ufw deny smtp #禁止外部访问smtp服务
ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口
ufw allow 53 #允许外部访问53端口(tcp/udp)
ufw allow from 192.168.1.100 # 允许此IP访问本机所有端口
ufw delete allow smtp #删除上面建立的某条规则
# 4.开启/关闭防火墙
ufw enable|disable
# 5.开启/关闭日志
ufw logging on|off
Centos
# 1.防火墙状态查看
systemctl status firewalld
# 2.关闭防火墙
systemctl stop firewalld.service
# 3.开启防火墙
systemctl start firewalld.service
# 4.查看开机是否启动防火墙服务
systemctl is-enabled firewalld
# 5.禁止防火墙开机启动
systemctl disable firewalld.service
# 6.开机自动启动
systemctl enable firewalld.service
# 7.放行端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 8.重启防火墙
firewall-cmd --reload