nginx安装及部署

36次阅读

共计 2199 个字符,预计需要花费 6 分钟才能阅读完成。

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

正文完
 0