1、检查网络环境,查看服务器是否可以上网
2、Centos 7 配置阿里云 yum源和安装 EPEL源
(1)对默认原文件进行备份
#cd /etc/yum.repos.d
#mkdir bak
#mv *.repo bak/
(2)配置阿里云yum源
#wget http://mirrors.aliyun.com/repo/Centos-7.repo
#yum clean all
#yum makecache
(3)安装 EPEL源
#yum install -y epel-release
3、安装nginx并配置服务
(1)安装nginx服务:
#yum install nginx
主配置文件:/etc/nginx/nginx.conf
events模块:https://blog.csdn.net/zhangsheng_1992/article/details/51689980
http模块:https://blog.csdn.net/chinabestchina/article/details/80993086
服务名称:nginx
监听端口:80
默认网站主目录:/usr/share/nginx/html
日志文件:
error_log /var/log/nginx/error.log;
error_log /var/log/nginx/access.log ;
日志格式分析
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; # 日志格式
安全加固:https://www.cnblogs.com/xiaozi/p/10119062.html
(2)修改nginx配置文件,将网站写在包含文件当中
备份配置文件
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
在配置文件里加入包含文件
vim /etc/nginx/nginx.conf
在文件最后一个}号前添加:
include /etc/nginx/vhost/*.conf;
(3)在/etc/nginx目录下新建vhost目录,并在下面新建www.test.conf与www.hr.conf两个域名配置文件,并作如下编辑。
cd /etc/nginx;mkdir vhost;cd vhost
vim www.test.conf
server{
listen 192.168.75.131:80; #监听哪个服务器下的哪个端口;
server_name www.test.com; #使用什么域名访问
location / {
root /data/test; #网站存放的路径 根目录下没有data 需要新建mkdir /data目录
index index.html; #指定访问的主页名,多个主页用空格隔开
}
}
vim www.hr.conf
server{
listen 192.168.75.131:80;
server_name www.hr.com;
location / {
root /data/hr;
index index.html;
}
}
(4)将网站文件test和hr都放到/data/目录下
mkdir /data
放网站文件
(5)配置完成后重启服务:
systemctl restart nginx
(6)关闭防火墙和安全机制 :
systemctl stop firewalld.service
setenforce 0
4、配置基于域名的虚拟主机
域名注册,在/etc/hosts中追加一行:
vim /etc/hosts
192.168.75.131 www.test.com www.hr.com
5、网站访问测试
在浏览器分别输入www.test.com和www.hr.com测试公司是否能够访问
6、配置文件排错
nginx -t
7、配置文件详解
user nginx nginx; #主模块命令,指定Nginx的worker进程运行用户以及用户组,默认为nginx。
worker_processes auto; #指定Nginx要开启的进程数,受Linux系统进程的最大打开文件数限制,在执行操作系统命令“ulimit -n 65536 ”后才生效。一般设置为cpu的2倍左右
error_log /var/log/nginx/error.log debug; 定义全局错误日志文件。日志输出格式不debug、info、notice、warn、error、crit可供选择,其中debug输出日志最为详细,而crit输出日志最少。
pid /run/nginx.pid; #指定进程ID的存储文件位置。
events { #设置Nginx的工作模式及连接数上限。
use epoll; #设置工作模式(select、poll、kqueue、epoll、rtsing、/dev/poll)
#其中select、poll是标准工作模式;kqueue、epoll是高效工作模式;epoll首选。
worker_connections 1024; #定义每个进程的最大连接数,默认是1024。最大客户端连接数由#worker_processes与worker_connections决定。
}
http{
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; # 日志格式
access_log /var/log/nginx/access.log main; #访问日志存放位置及格式
sendfile on; #开启高效文件传输模式。将tcp_nopush、tcp_nodelay设置为on,防止网络阻塞。
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65; #设置客户端连接保持活动的超时时间,超时后服务器会关闭连接。
types_hash_max_size 2048;
include /etc/nginx/mime.types; #对配置文件所包含文件的设定,可以减少主配置文件的复杂度。
default_type application/octet-stream; #http核心模块命令,默认类型为二进制流,也就是当文件类型未定义时使用这种方式。如时,没有配置PHP环境Nginx是不予解析的。
listen 80 default_server; 指定虚拟主机的服务端口
listen [::]:80 default_server;
server_name _; 指定IP地址或域名,多个域名之间用空格分开 使用什么域名访问。
root /usr/share/nginx/html; 网页根目录。
index index.html index.htm 默认首页地址。
charset 设置网页的默认编码格式。
# Load configuration files for the default server block.
include /etc/nginx/default.d/\*.conf;
server {
listen 80 default_ server; //监听IPV4的80窗口
Listen [ : : ]: 80 default_ server;监听IPV6的80窗口
server_ name _; //指定域名名
root /usr/share/nginx/html; #表示指定上面域名存放的位置,网站的根目录
# Load configuration files for the default server block.
include /etc/ nginx/default. d/\*. conf; #包含文件
location / { # URL的匹配设置,/可以支持正则表达式
error_ page 404 /404. html; #错误页
location = /40x. html {
}
error_ page 500 502 503 504 /50x. html;
location = /50x. html {
}
}
例:搭建Nginx服务器
1、配置阿里云yum源,安装EPEL源,安装nginx服务
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum install -y epel-release
2、修改配置文件/etc/nginx/nginx.conf在最后一个}前加上包含文件语句
vim /etc/nginx/nginx.conf
include /etc/nginx/vhost/*.conf
3、新建vhost目录,并编辑域名配置文件
mkdir /etc/nginx/vhost
cd /etc/nginx/vhost
vim www.test.conf
server{
listen 192.168.139.131:80;
server_name www.test.com;
location / {
root /data/test;
index index.html;
}
}
4、把网站放在/data目录下(这里新建一个网站)
mkdir /data
cd /data
mkdir test
echo “this is test” > index.html
5、关闭防火墙和安全机制并重启服务
systemctl stop firewalld
setenforce 0
systemctl restart nginx
6、配置基于域名的虚拟主机
vim /etc/hosts
192.168.139.131 www.test.com
7、访问www.test.com