一. nginx配置多个网站
1. 建立多网站的目录:
要配置多个网站,首先你得有多个网站, 这里我们
比如,我们将网站建立再 /data文件夹中
2. 在nginx目录下建立服务配置文件
我们在nginx目录下新建一个vhost文件夹,并建立两个配置文件
然后在配置文件中编辑,
server {
listen 80; # 监听端口
server_name www.xxyun.com xxyun.com; # 站点域名
root /data/xxyun; # 站点根目录
index index.html index.htm index.php; # 默认导航页
location / {
# root /data/xxyun/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /data/xxyun/;
}
}
3. 在nginx配置文件中导入上面的配置文件
注释掉之前的80端口
include /usr/local/nginx/vhost/vhost_xxxxyun.conf;
include /usr/local/nginx/vhost/vhost_cloud_xxxxyun.conf;
注释掉之前的80端口server
由于文件的改变, 容易出现一个问题: nginx重启时出现
[error] open() “/usr/local/var/run/nginx/nginx.pid”
这是我只需要将 nginx.conf配置文件中的这条语句打开
pid logs/nginx.pid;
4. 重启nginx
跳转到Nginx的sbin目录使用以下命令停止nginx并重启
cd /usr/local/nginx/sbin/
./nginx 启动nginx
./nginx -s quit 停止nginx
./nginx -s reload 重启nginx
至此: 我们完成了nginx同一端口配置多个网址的配置
二. 配置SSL证书,实现HTTPS登录
以腾讯云为例:https://cloud.tencent.com/document/product/400/35244
1. 上传crt和key文件
无论通过何种渠道, 当您完成SSL证书申请, 得到证书之后, 会得到crt文件和key文件, 我们需要将其上传至服务器中,这里为了方便,我直接把它们和它们的服务器配置文件放在了一起
2. 在各自的配置文件中配置443端口访问
server {
listen 80; # 监听端口
server_name www.xxxxyun.com xxxxyun.com; # 站点域名
root /data/xxxxyun; # 站点根目录
index index.html index.htm index.php; # 默认导航页
location / {
# root /data/xxxxyun/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /data/xxxxyun/;
}
}
server {
listen 443 ssl;
server_name www.xxxxyun.com xxxxyun.com; # 站点域名
ssl_certificate ../vhost/1_xxxxyun.com_bundle.crt;
ssl_certificate_key ../vhost/2_xxxxyun.com.key;
# ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /data/xxxxyun;
index index.html index.htm;
}
}
至此SSL证书布置完成,https登录已经实现