Nginx
Nginx 是毛子出品的高性能 HTTP 和反向代理 web 服务器
安装
在 Linux(Ubuntu) 服务器上安装 Nginx
sh
sudo apt update
sudo apt install -y nginx如果要安装最新版本的 Nginx,参考 "Official Debian/Ubuntu packages",使用 PPA 来安装
shell
sudo add-apt-repository ppa:nginx/stable
sudo apt update
sudo apt install nginxNginx 命令
bash
# ---------------------------------
# sudo nginx -s stop # 停止
# sudo nginx -s quit # 优雅停止
# sudo nginx -s reload # 重新加载配置文件
# sudo nginx -s reopen # 重新打开日志文件
# sudo nginx -c /etc/nginx/nginx.conf # 指定配置文件
# ---------------------------------操作完成后,可能需要检查相应端口是否打开,否则服务仍然无法访问
bash
SSH_PORT=<xxxx> # <xxxx> 是新的端口号
sudo firewall-cmd --permanent --zone=public \
--add-port=${SSH_PORT}/tcp # 添加新端口
sudo firewall-cmd --reload # 更新防火墙规则
sudo firewall-cmd --list-ports # 查看已开放的端口
# sudo firewall-cmd --permanent --zone=public \
# --remove-port=${SSH_PORT}/tcp # 移除端口主配置文件
基本配置
Nginx 的配置文件 nginx.conf 可能会在这几个地方: /usr/local/nginx/conf, /etc/nginx, /usr/local/etc/nginx
ubuntu apt 默认安装位置为
/etc/nginx/nginx.conf
配置文件 nginx.conf 的结构
shell
user www-data; # 用户
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
...
}
#mail {
# ...
#}其中需要修改的是 user 和 worker_processes,user 是运行 Nginx 的用户,worker_processes 是 Nginx 的工作进程数,一般设置为 auto,表示根据 CPU 核数自动设置
如果不设置用户,Nginx 默认使用 nobody 用户,这个用户没有权限访问文件系统,所以需要修改为 www-data 用户
Nginx 用户权限
Nginx 默认使用 nobody 用户,这个用户没有权限访问文件系统,所以可以建立一个 nginx 用户,然后修改配置文件中的 user 为 nginx 用户
shell
常用配置
HTTP 端口转发
以 http 常用的 80 端口为例,基本配置文件为
shell
server {
listen 80;
server_name localhost;
access_log /home/ubuntu/nginx/logs/access.log combined;
error_log /home/ubuntu/nginx/logs/error.log;
}listen监听端口,http一般是80server_name监听ip。换成服务器 公网IP 或者 域名access_log和error_log是日志文件,需要保证目录存在/home/ubuntu/nginx/logs/,否则就无法生存日志文件
这时候重新加载数据文件 sudo nginx -s reload