安装Nginx之前需要先安装几个依赖
1. 安装gcc
yum install gcc
//可以输入gcc -v 查询版本信息,看系统是否自带安装
2. 安装pcre
yum install pcre-devel
//查看是否安装成功
pcre-config --version
3. 安装zlib
yum install zlib zlib-devel
4. 安装openssl
yum install openssl openssl-devel
//如需支持ssl,才需要安装openssl
综合命令
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
5.下载源码包
http://nginx.org/download/nginx-1.10.2.tar.gz
6. 解压
tar -zxvf nginx-1.10.2.tar.gz
7. Nginx安装
1)进入nginx目录之后执行 ./configure
若不知道路径,可以通过whereis nginx进行查询
默认安装在/usr/local/nginx
2)执行 make
3)执行make install
4)验证
在地址栏输入通过ifconfig获取到的ip地址 :192.168.17.156
8. Nginx常用命令
测试配置文件是否有语法错误
/usr/local/nginx/sbin/nginx -t
启动命令
cd 到/usr/local/nginx目录下
执行./sbin/nginx (无参数)
查看nginx进程
ps aux | grep nginx
如下图:
停止命令
/usr/local/nginx/sbin/nginx -s stop/quit
重启命令
/usr/local/nginx/sbin/nginx -s reload
查看进程命令
ps -ef | grep nginx
平滑重启
kill -HUP [Nginx主进程号(查看进程命令看到的PID)]
增加防火墙访问权限
//查询防火墙开放了哪些端口
firewall-cmd --list-all
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 开放8080端口
firewall-cmd --permanent --add-port=8080/tcp
- 重启防火墙
systemctl restart firewalld.service
9. 配置Nginx的域名解析
9.1 配置nginx.conf
(1) 编辑 vim /usr/local/nginx/conf/nginx.conf
(可以将域名解析配置放到该目录下以域名命名并且以.cong结尾)
(2) 在nginx.conf文件里增加 include vhost/*.conf;
(3)保存退出
如图:
9.2 创建vhost目录
在/usr/local/nginx/conf/ 目录新建vhost文件夹
9.3 创建域名目录
在vhost文件夹里创建 www.aiun.com.conf
//意思是遇到www.aiun.com把他转到http://192.168.17.56:8080
server {
listen 80;
autoindex on;
server_name www.aiun.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ($query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location / {
proxy_pass http://192.168.17.56:8080;
add_header Access-Control-Allow-Origin *;
}
}
在vhost文件夹里创建 www.image.com.conf
server {
listen 80;
//off表示访问root /ftpfile/;不会自动创建索引
//可以看到目录下的内容,但是不能看到目录上面的内容
autoindex off;
server_name www.image.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ($query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location ~ /(mmall-felmmall_admin_fe)/dist/viem/* {
deny all;
}
location / {
root /ftpfile/;
add_header Access-Control-Allow-Origin *;
}
}
注意:一定要以.conf结尾。因为nginx.conf里面的include 配置的是/*.conf
location指令说明:
该指令用于匹配 URL。 语法如下:
location [ = | ~ | ~* | ^~] uri {
}
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
2、~:用于表示 uri 包含正则表达式,并且区分大小写。
3、~:用于表示 uri 包含正则表达式,并且不区分大小写。
4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~ 标识。
9.4 修改host
可以配置域名转发,但是请一定要配置host,并且使host生效之后才可以,设置完成之后要重启浏览器
(1) vim /etc/hosts
(2) 添加好对应的域名及ip
(3) :wq 保存退出
9.5 重启验证
/usr/local/nginx/sbin/nginx -s reload
9.6. 访问验证
从浏览器地址栏输入server_name设置的网址
输入www.aiun.com
输入www.image.com/index.html(index.html是自己在vsftpd目录下进行的文件)
可以看到域名转发成功