最近在部署自己的网站(racsky.com)时,使用了Nginx的服务反向代理,并且记录了过程与大家分享,相信这篇文章能够帮助到你。
Nginx是一款轻量级、高性能的反向代理Web服务器,有着占有内存小、并发能力强的特点,在网页服务器中表现较好,也是很受很多网站的选择使用,包括百度、腾讯、新浪、淘宝等。
下面就来具体介绍下Nginx的使用情况:
下载Nginx,可以下载离线安装包进行安装,也可以使用wget在线下载安装,还可以使用apt-get进行安装
方式一:下载离线安装包
将安装包推送到服务器上,这里就不得不提到windows和linux之间的文件传输
在进行传输之前需要安装第三方模块lrzsz,如果已经安装可以就此忽略,那么怎么进行验证呢?在命令行输入rz,如果能够正常出现弹窗,说明已经安装过了,否则需要进行安装:pip install lrasz
在Linux环境下的运行窗口中输入命令 rz,此时就会出现如下弹框
非常的方便,可以自由选择想要上传的文件。
这样可以实现Windows向Linux上传文件呢,那么Linux向Windows如果传输呢?
在命令行输入sz + 文件名称,就会出现弹框提示要存储在Windows的路径,可以自由选择。
这里就可以完美的实现Windows和Linux文件的文障碍传输,真的是太方便了。
好了,回到正题,将我们下载好的安装包按照这种方式推送到Linux的文件夹下,下来就是进行解压安装。
方式二:使用wget进行下载
# 这里根据自己选择目录下载,将安装包防止的路径
cd /usr/src
#下载指定版本或者最新版本都是可以的
wget http://nginx.org/download/nginx-1.13.8.tar.gz
# 解压
tar -zxvf nginx-1.13.8.tar.gz
# 进入解压目录
cd nginx-1.13.8
# 配置
./configure --prefix=/usr/local/nginx
# 编辑nginx
make
# 安装nginx
make install
# 启动nginx
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过 -h查看帮助命令。
# 可以查看nginx进程
ps -ef|grep nginx
此时,就可以访问服务器的HTTP服务,来确认是否已经成功安装。
方式三:使用apt进行下载
# 安装
sudo apt-get install nginx -y
#启动 Nginx
sudo /etc/init.d/nginx start
此时访问自己的域名就可以看到Nginx的测试页面了
在这里可以看到离线安装包的安装步骤要稍微复杂些,这是因为需要在Linux环境下重新编译安装,如果是直接在线安装的话就会少了很多步骤,但是在线安装有时候会非常缓慢,导致安装异常,需要安装多次都有可能。
下面是Nginx的常用命令
# 启动,下面两个都是可以的
/usr/local/nginx/sbin/nginx
/etc/init.d/nginx start
# 停止
/etc/init.d/nginx stop
# 重启
/etc/init.d/nginx restart
# 查看Nginx的版本,大写的V是可以看到详细信息
/usr/local/nginx/sbin/nginx -v
/usr/local/nginx/sbin/nginx -V
# 检查配置文件是否正确
/usr/local/nginx/sbin/nginx -t
* 注:以上的操作都是root用户下进行的。
Nginx是集反向代理和负载均衡于一身。
什么又是负载均衡呢?
我们都知道在访问网页的时候,都是先将请求发送到Nginx,然后再由Nginx进行分发到实际项目的服务器,Nginx相当于是做了个中间人的角色。
我们可以假设不做负载均衡,如果在某一时刻内有100个用户同时访问一个网址,那么这个Nginx就要将这100个请求分发到后面的网页,那么如何进行分发呢?后面的服务器收到处理都不相同,有可能有的需要处理的很多,有的没有处理就在哪里闲着。
那么如果做了负载均衡的话,就相当于把这100个请求均分的发送到项目的服务器,这样每个服务器处理请求的数量基本都是一样的,这样可以大大提高服务器的运行效率,还可以给用户很好的访问体验。所以部署Nginx的负载均衡很重要。
这时需要将Nginx的配置文件进行修改
上面的是单台服务器的部署情况。如果是多台服务器的话,需要将server的地址更改为项目服务器的真实地址。
好了,以上就是Nginx的部署情况,如果有什么不明白的地方,欢迎关注我,进行留言评论。