Nginx 是一个免费的、开源的、高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点。
Nginx 可以作为一个独立的 Web 服务,也可以用来给 Apache 或是其他的 Web 服务做反向代理。
相比于 Apache,Nginx 可以处理更多的并发连接,而且每个连接的内存占用的非常小。
安装之前
安装时最好是通过 sudo 权限的账户登录centos,并且保证系统80端口和443端口没有被占用。80端口对应HTTP、443对应HTTPS。
开始安装Nginx
1、安装依赖包
首先需要安装一些安装nginx需要的包。
gcc: nginx编译需要gcc环境
安装命令:yum install gcc-c++
pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用 pcre来解析正则表达式
安装命令:yum install -y pcre pcre-devel
zlib:该库提供了很多种压缩和解压缩的方式,nginx使用zlib对 http包的内容进行gzip
安装命令:yum install -y zlib zlib-devel
openssl: 一个安全套接字层密码库
安装命令:yum install -y openssl openssl-devel
依赖安装完成后,接下来就是nginx的安装,首先需要去nginx官网查看ngixn的版本然后选择下载。
打开官网选择文本版本进行下载即可
2、下载安装nginx
1.创建一个下载目录download,并将nginx下载到里面
mkdir download && cd download
wget https://nginx.org/download/nginx-1.17.10.tar.gz
2.解压缩nginx,并进入解压后的文件夹
tar -zxvf nginx-1.17.10.tar.gz
cd nginx-1.17.10
3.配置编译参数
./configure
如果只写 ./configure
命令是默认的参数配置,像nginx启动和配置文件夹一般就会放到目录:/usr/local/nginx/
,如果需要手动配置可以参考下面的命令:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-pcre=../pcre-8.43 \
--with-http_ssl_module --with-http_v2_module \
--with-http_gzip_static_module \
--with-http_gunzip_module \
--with-stream \
--with-stream_ssl_module \
--with-http_sub_module \
--with-http_flv_module \
--with-http_addition_module \
--with-http_realip_module \
--with-http_mp4_module \
--with-ld-opt=-Wl,-E \
--with-cc-opt=-Wno-error \
--with-pcre-jit \
--with-http_stub_status_module
3.编译安装nginx
make && make install
等待安装完成后可以去--prefix
指定的文件夹下面查看一下conf、sbin、html文件夹是否存在。到此nginx安装就算完成了。
3、nginx相关的命令
进入nginx安装目录(/usr/local/nginx
)
1.启动nginx
./nginx
启动没有错误后打开浏览器输入服务器ip地址,如果访问到nginx的默认页面就是启动成功了。
2.重启nginx
./nginx -s reload
3.关闭nginx
./nginx -s stop
4、nginx发布页面服务时限制ip访问
打开nginx配置文件nginx.conf,配置一个页面服务:
server {
listen 8848;
server_name localhost;
location / {
allow xxx.xx.xx.xx;
allow xxx.xx.xx.xx;
deny all;
root /home/pw/nginxApp/uestc/dist/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location @router {
rewrite ^.*$ /index.html last;
}
}
其中allow xxx.xx.xx.xx
和deny all
分别是配置可以访问的ip和禁止访问的ip,禁止访问设置的是all代表全部都不可以访问。
注意如果要设置可访问ip的网段可以写成:
allow xxx.xx.xx.1/20;
在注意,如果将deny all
写在allow
前面,限制将不起作用。