Nginx服务器搭建

目录

    • 一、RPM包安装
    • 二、源码安装

  注:本篇以 CentOS-7.6+Nginx-1.18.0 为例进行演示。

一、RPM包安装

  首先需要下载RPM包到本地,rmp包下载界面,click here!这里我们选择对应操作系统类型(CentOS)。

Nginx服务器搭建_第1张图片

  其次选择对应操作系统版本(7)。

Nginx服务器搭建_第2张图片

  然后选择对应操作系统架构(x86_64)。

Nginx服务器搭建_第3张图片

  再选择我们所需要的RPM包(RPMS)。

Nginx服务器搭建_第4张图片

  最后右击选择所需要的Nginx-1.18.0版本的RPM包,选择"复制链接地址"。

Nginx服务器搭建_第5张图片
  复制链接之后,使用wget工具下载到我们的服务器上,再进行后续安装过程。
#安装依赖
[root@php-server ~]# yum install gcc-c++ openssl openssl-devel zlib zlib-devel pcre pcre-devel -y

#将rpm包下载到/usr/local/src/目录下
[root@nginx-server ~]# cd /usr/local/src/    //进入/usr/local/src目录下
[root@nginx-server src]# wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm    //下载rpm包

#进行安装
[root@nginx-server src]# yum localinstall nginx-1.18.0-1.el7.ngx.x86_64.rpm -y

#启动nginx
[root@nginx-server src]# systemctl start nginx

  最后进行访问测试,如果出现这个界面说明Nginx已经安装成功啦!

Nginx服务器搭建_第6张图片

二、源码安装

  首先需要下载二进制包到本地,二进制包下载界面,click here!这里我们直接右击选择对应Nginx版本(1.18.0),选择"复制链接地址"。

Nginx服务器搭建_第7张图片
  复制链接之后,使用wget工具下载到我们的服务器上,再进行后续安装过程。
#安装依赖
[root@php-server ~]# yum install gcc-c++ openssl openssl-devel zlib zlib-devel pcre pcre-devel -y

#将二进制包下载到/usr/local/src/目录下
[root@nginx-server src]# cd /usr/local/src/    //进入/usr/local/src目录下
[root@nginx-server src]# wget http://nginx.org/download/nginx-1.18.0.tar.gz    //下载二进制包

#进行安装前的准备
[root@php-server src]# groupadd -r nginx    //创建nginx用户组
[root@php-server src]# useradd -r -g nginx nginx    //创建nginx用户
[root@php-server src]# tar xf nginx-1.18.0.tar.gz    //解压安装包

#进行安装
[root@php-server src]# cd nginx-1.18.0    //进入nginx解压目录下
[root@php-server nginx-1.18.0]# ./configure --prefix=/opt/data/nginx    //配置安装目录
[root@php-server nginx-1.18.0]# make && make install    //编译并安装
[root@php-server nginx-1.18.0]# ln -s /opt/data/nginx/ /usr/local/nginx    //做nginx的软连接到/usr/local下

#配置环境变量,将nginx的sbin目录加入PATH环境变量
[root@php-server nginx-1.18.0]# vim /etc/profile.d/nginx.sh
export PATH=/opt/data/nginx/sbin:$PATH
[root@php-server nginx-1.18.0]# source /etc/profile.d/nginx.sh    //加载环境变量文件立即生效

#编辑配置文件
[root@php-server nginx-1.18.0]# cd /opt/data/nginx/    //进入nginx目录下
[root@php-server nginx]# ln -s /opt/data/nginx/conf/ /etc/nginx    //进行系统规范,将nginx的配置文件软连接到/etc/nginx目录下
[root@php-server nginx]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak    //备份原始配置文件
[root@php-server nginx]# echo "" > /etc/nginx/nginx.conf    //置空配置文件
[root@php-server nginx]# vim /etc/nginx/nginx.conf
user nginx;
pid /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http  {
    access_log off;
    client_max_body_size 128M;
    include /etc/nginx/conf.d/*.conf;
}
[root@php-server nginx]# nginx -t    //检查配置文件语法
nginx: the configuration file /opt/data/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/data/nginx/conf/nginx.conf test is successful
[root@php-server nginx]# mkdir /etc/nginx/conf.d    //创建配置文件所指定的扩展目录
[root@php-server nginx]# mkdir /var/log/nginx    //创建日志文件目录
[root@php-server nginx]# chown -R nginx:nginx /var/log/nginx/    //修改日志目录的属主和属组

#为nginx提供sysv服务脚本,以便通过start、stop、restart、status等参数来管理服务进程
[root@php-server nginx]# vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/opt/data/nginx/sbin/nginx -t -c /opt/data/nginx/conf/nginx.conf
ExecStart=/opt/data/nginx/sbin/nginx -c /opt/data/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

#启动nginx
[root@php-server nginx]# systemctl start nginx

#查看进程是否启动成功
[root@php-server nginx]# ps -ef | grep nginx
root      34534      1  0 17:59 ?        00:00:00 nginx: master process /opt/data nginx/sbin/nginx -c /opt/data/nginx/conf/nginx.conf
nginx     34535  34534  0 17:59 ?        00:00:00 nginx: worker process
root      34926   7443  0 18:06 pts/0    00:00:00 grep --color=auto nginx

  需要注意的是,这里如果我们使用netstat -tunalp查看端口是否被监听,结果是没有被监听。因为我们配置文件中这部分是缺少的,后期根据需要可以配置在 /etc/nginx/conf.d 下。为什么要配置在这里呢?因为nginx可以配置虚拟主机,假如做web服务时一个nginx上会跑多个网站,那么每一个网站都会有自己的配置文件,这样可以将配置文件分隔开,不但可以减少出错,而且利于后期的管理和维护。

你可能感兴趣的:(Web,nginx)