1.Nginx安装

1.1 安装编译环境及第三方依赖

Nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件包的开发包,以便提供相应的库和头文件。

yum install gcc-c++ // 安装编译环境
yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel  

1.2 下载nginx安装包

wget http://nginx.org/download/nginx-1.20.0.tar.gz

tar -zxvf nginx-1.20.0.tar.gz  // 解压

cd nginx-1.20.0     // 进入解压目录

./configure  --prefix=/usr/local/nginx // --prefix 指定安装目录,可以不写

make

sudo make install

1.3 Nginx安装默认目录

nginx默认目录 其中sbin下就是nginx的可执行程序。logs目录下是日志:包括Nginx访问日志和错误日志,及Nginx运行时的主进程的的进程号会保存在mginx.pid文件中。 html目录下是静态网页。

conf目录下是nginx的核心配置,主要关注 nginx.conf即可。Nginx最小的配置如下:

# 配置用户及用户组
user  root;
#启动多少个子进程(worker),通常设置成和cpu的数量相等
worker_processes  1;  

events {
    worker_connections  1024;
}

http {
    include       mime.types;  #告诉浏览器以什么格式去接收和解析文件
    default_type  application/octet-stream;
    
    sendfile        on;  #开启零拷贝
    
	keepalive_timeout 65;
	
	# 虚拟主机 vhost
    server {
        listen       80;
        server_name  localhost; # 域名或者主机名

        location / {
            root   html;
			index  index.html index.htm;
        }
		#如果服务端发生错误,会显示50x.html
		#http://www.baidu.com/50x.html
        error_page   500 502 503 504  /50x.html;
        # 去html目录下找 50x.html,html是相对路径,可以修改
        location = /50x.html {
            root   html;
        }

    }
}
1.3.1 启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

1.3.2 停止nginx
/usr/local/nginx/sbin/nginx -s stop

2.Nginx设置服务开启自启动

2.1 进入/etc/systemd/system

cd /etc/systemd/system

2.2 创建nginx.service并赋予权限

touch nginx.service
chmod 755 nginx.service

2.3 vim编辑nginx.service,里面的路径根据自己实际情况修改

vim /etc/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 daemon-reload

命令

#设置开机自启
systemctl enable nginx.service
#关闭开机自启动
systemctl disable nginx.service
#查看所有开机启动项
systemctl list-unit-files |grep enabled
#开启服务
systemctl start nginx.service
#关闭服务
systemctl stop nginx.service
#重新加载配置
systemctl reload nginx.service
#查看状态
systemctl status nginx.service