从0到1学运维:欢迎订阅专栏~,永久更新
往期文章:
2-Redis服务端客户端使用与主从集群
一:安装部署
NginxWEB安装时可以指定很多的模块,默认需要安装Rewrite模块,也即是需要系统有PCRE库,安装Pcre支持Rewrite功能。如下为安装Nginx WEB服务器方法:
#安装PCRE库支持
yum install pcre-devel pcre -y
#下载Nginx源码包
cd /usr/src
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
#解压Nginx源码包
tar -xzf nginx-1.12.0.tar.gz
#预编译Nginx
useradd www ;
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
#.configure预编译成功后,执行make命令进行编译
make
#make执行成功后,执行make install 正式安装
make install
#至此Nginx WEB服务器安装完毕。
启动nginx,/usr/local/nginx/sbin/nginx (启动nginx不用加start) 回车即可。查看进程是否已启动:
ps -ef|grep nginx
测试访问80端口是否成功
如若不成功查看防火墙是否添加80端口,如果没有添加80端口。就加上或者直接关闭防火墙(生产环境不建议这样做)
firewall-cmd --list-all
查看是否没有端口
没有就添加
firewall-cmd --add-port=80/tcp --permanent
重启防火墙
systemctl reload firewalld.service
如何发布网页?
nginx发布网页:
cp index.html(你的web网页) /usr/local/nginx/html/
二:Nginx WEB服务器定期更新,如果需要将低版本升级或者将高版本降级,升级或者降级方法如下,分为四个步骤,包括软件下载、预编译、编译、配置,具体方法如下:
wget http://www.nginx.org/download/nginx-1.4.2.tar.gz
获取旧版本nginx的configure选项
/usr/local/nginx/sbin/nginx -V
编译新版本的Nginx
tar -xvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with- http_stub_status_module --with-http_ssl_module
make
备份旧版本的nginx可执行文件,复制新版本的nginx这行文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp objs/nginx /usr/local/nginx/sbin/
测试新版本nginx是否正常
/usr/local/nginx/sbin/nginx -t
平滑重启升级nginx
kill –QUIT `cat /usr/local/nginx/log/nginx.oldbin` ##关闭旧版nginx
验证nginx是否升级成功
/usr/local/nginx/sbin/nginx -V显示最新编译的版本信息即可。
三:nginx配置多域名网站
本文只讲较难的第三种情况
操作步骤为:
一台服务器中有多个ip端口对应的多个域名网站 一 一相对应。所以要在nginx.config文件的http代码段配置多个server代码段。一个server代码段对应一组端口+域名的网站
我们将每一组server代码保存在一个文件当中(domain)
第一步我们先备份nginx主配置文件:
cp nginx.conf nginx.conf.bak
第二部:加入include domains信息
####先把nginx里面的所有server段代码删除###
1.先在conf目录下创建domains文件夹
mkdir domains
2.在nginx.conf文件里引入domains文件夹
include domains/*; 如图
3.创建虚拟主机配置文件
进入domains文件夹下面
我们需要提前准备好两个web页面,这里直接创建两个做测试用
touch web1.com web2.com
给这两个网页写点东西
vim web1.com
server {
listen 80;
server_name www.web1.com;
location / {
root /data/webapps/web1.com/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
把这个文件导入到web2.com中去改一下数字就好了
cat web1.com > web2.com (web1.com后面有空格>号后面紧跟web2.com)
server {
listen 81;
server_name www.web2.com;
location / {
root /data/webapps/web2.com/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
接下来创建这两个文件的发布目录root /data/webapps/
mkdir -p /data/webapps/web{1,2}.com/
给这两个web页面写点测试html代码
vim web1.com
<htm>
<h1>web1.com</h1>
</html>
同理编辑web2.com
vim web2.com
<htm>
<h1>web2.com</h1>
</html>
重启nginx
/usr/local/nginx/sbin/nginx -s reload
由于我们是测试,没有现成的域名 可以在Windows的hosts文件中添加域名解析
192.168.1.145 web1.com web2.com
之后就可以在本地测试 web1.com 和web2.com了