linux学习记录

  • 首页
  • 入门LINUX
  • 建站
  • Why
  1. 首页
  2. 入门LINUX
  3. 正文

nginx架设多站点(包括wordpress),并实现https访问与跳转

2021年3月5日 733点热度 0人点赞 0条评论

前言

之前用LAMP(ubuntu-server20.04+apache+mariadb+php),搭建了wordpress,相关链接:

《从头安装Ubuntu所需软件(一):openssh、apache》、《初步折腾apache:使用apache创建多个站点》、《从头安装Ubuntu所需软件(二):php及模块》、《ubuntu20.04安装phpmyadmin的坑》、《二步折腾Apache:配置站点https》。

现在

增加点需求,再搭建一个https的网站,且后端为普通http服务。

试过通过apache来实现,太不容易了,转而谋求nginx,反正nginx迟早避不过这个坑,视为LNMP吧。

正式开始

1、新手起步,先排除外界条件,以免整复杂了,停止apache先:

sudo systemctl stop apache2

2、安装nginx

sudo apt install -y nginx

3、安装nginx所需的php模块:php-fpm

sudo apt install php-fpm

根据搜索,php-fpm主要负责解析php,并传给nginx。

PS:nginx.conf中的user和group和后面配置的PHP-FPM的user(/etc/php/7.4/fpm/pool.d/www.conf)要保持一致,此处为www-data;

坑

1、安装完nginx后,可能会出现无法启动的情况,提示:

nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

报错原因:
未找到nginx.pid文件

解决方案:(参考:https://www.jianshu.com/p/4f8b57632e2b)

sudo $sudo nginx

(执行该命令之后,nginx 会在 /usr/local/var/run/ 路径下创建一个名为nginx.pid 的文件 )

2、启动可能提示443端口无法绑定的情况:

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

解决方案:(参考:https://www.digitalocean.com/community/questions/nginx-is-unable-to-bind-to-443)

sudo fuser -k 443/tcp

PS:试过lsof -i:443,查看占用端口的文件或进程,居然没有PID,想kill都不行。

终于

至此,nginx总算是成功启动了。接下来配置nginx,实现:

1、80端口,根据不同域名,重定向到相应的https的域名;

2、443端口,根据不同域名,转到不同网站,我这里一个是wordpress(指定目录),一个是cloudreve(转到自己的后台服务端口);

大功告成!

标签: Nginx
最后更新:2021年3月5日

Frank

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2020-2023 frank9.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2020014100号-1