下面是CentOS 7.3配置Nginx虚拟主机的方法步骤的完整攻略。
1. 安装和配置Nginx
在CentOS 7.3中安装Nginx,可以执行以下命令:
sudo yum install nginx
安装完成后,需要对Nginx进行一些基本的配置。
1.1 配置Nginx
编辑Nginx配置文件 /etc/nginx/nginx.conf
,修改如下配置:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
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;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
}
1.2 启动Nginx
使用如下命令启动Nginx:
sudo systemctl start nginx
2. 配置虚拟主机
为了配置虚拟主机,需要创建一个新的server block并将其添加到Nginx配置文件中。
2.1 创建server block
在/etc/nginx/conf.d/目录下创建一个新的文件(如example.com.conf),并添加以下配置:
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/example.access.log main;
location / {
root /var/www/example.com;
index index.html index.htm;
}
}
2.2 修改hosts文件
修改本地主机文件(/etc/hosts),添加以下行:
127.0.0.1 example.com
2.3 创建网站目录并放置网站内容
创建一个文件夹(例如/var/www/example.com)并将网站内容放在该文件夹中。
sudo mkdir -p /var/www/example.com
sudo chown -R nginx:nginx /var/www/example.com
2.4 重新加载Nginx
使用如下命令重新加载Nginx:
sudo systemctl reload nginx
示例说明
示例1: 添加一个subdomain
如果需要为example.com添加一个subdomain(如api.example.com),可以创建一个新的Nginx server block(如api.example.com.conf)并在其中添加以下配置:
server {
listen 80;
server_name api.example.com;
access_log /var/log/nginx/api.example.access.log main;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
在本地主机文件(/etc/hosts)中添加以下行:
127.0.0.1 api.example.com
示例2: 添加SSL证书
如果需要为网站添加SSL证书,可以在Nginx server block中添加以下配置:
server {
listen 443 ssl;
server_name example.com;
access_log /var/log/nginx/example.access.log main;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
root /var/www/example.com;
index index.html index.htm;
}
}
如果需要使用HTTP重定向到HTTPS,可以添加以下配置:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7.3配置Nginx虚拟主机的方法步骤 - Python技术站