nginx 安装
1. 前置安装 sudo yum install yum-utils
2. 在服务器上根目录创建一个 /etc/yum.repos.d/nginx.repo
文件,编辑如下:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
3.
sudo yum install nginx
这样我们就完成了 nginx 的安装,这三步官网要求的,没有为什么;
以这样的方式我们安装 nginx 的配置在 /etc/nginx/default.conf 中配置
2.nginx 配置
我们刚生成的 nginx 默认配置如下
user nginx; // 默认用户
worker_processes 1;//cpu 内核
error_log /var/log/nginx/error.log warn;// 打印错误日志路径
pid /var/run/nginx.pid;//nginx 运行启动后就会生成这个标示文件,记录 nginx 主进程的 ID 号。events {// 设置最大连接数
worker_connections 1024;
}
http {
include /etc/nginx/mime.types; // 设置各种类型
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local]"$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent""$http_x_forwarded_for"';// 打印日志的方式,$ 符标识变量
access_log /var/log/nginx/access.log main;// 打印访问日志
sendfile on;// 指定是否使用 sendfile 系统调用来传输文件。sendfile 系统调用在两个文件描述符之间直接传递数据(完全在内核中操作),从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被称之为零拷贝
keepalive_timeout 65;// 默认连接时间
include /etc/nginx/conf.d/*.conf;// 默认配置都包含在.conf 文件中
}
上面的最后一行我们也清楚了,那么我们看一看默认配置的详细注解:
server {
listen 80;// 默认监听 80 端口
server_name localhost;
access_log /var/log/nginx/host.access.log main;// 打印日志位置
location / {
root /usr/share/nginx/html;// 配置访问文件夹
index index.html index.htm;// 配置访问路径
}
}
部署
下载 xshell 和 winscp,xshell 是连接服务器的一种工具,winscp 是向服务器上传文件,不过我遇到了一个问题;
首先我自己在阿里云服务器购买了一台服务器,然后按照上面的操作进行安装和搭建,但是我改了 nginx 上的配置文件并没有生效,由于我也是第一次接触 nginx 对这块不是很了解,所以我直接用 localhost 访问(我也真是一个 nt,既然上传到服务器当然是用服务器访问了),但是还是一直停留在 welcome to nginx! 这就很邪门了,然后在网上各种查资料原来不是配置的问题,是我们在配置文件中写的端口指向 80,但是阿里云需要设置安全组,设置完之后在网址上输入服务器地址才能看到我们更改之后的 index.html,也算是历经挫折了,但是我把 congf 中的 root 指向指向了 root 文件夹下的 index.html
location / {
root /root;// 配置访问文件夹
index index.html index.htm;// 配置访问路径
}
再打开网页显示 403 这是什么鬼,没事我有百度,接着查百度才发现是权限问题,只需要更改配置中的 user
改成 user nginx;
然后重新启动一下 nginx(只要改了配置文件都要重新启动),这样就可以正常的显示文件了;
常用的命令
systemctl start nginx // 启动 nginx
systemctl status nginx.service // 查看 nginx 的状态
systemctl disable firewalld.service // 关闭防火墙
ps -ef |grep nginx// 查看进程
history !(序号)// 使用命令的历史记录
systemctl restart nginx.service// 重启 nginx