阿里云服务的一些概念:
弹性ip:分为两种模式:关机付费,关机不付费
关机付费:会保留公网IP,会产生费用
关机不付费:不会保留公网ip,开机公网ip可能会变,不会产生费用
无论关机付费与不付费私网ip都不会更改
高效云盘:类似于机械云盘
essd:阿里云独有的固态云盘
ssd:市面上的固态云盘
专有网络:一个专有网络就相当于一张网卡,注意绑定了同一个专有网络,多个设备才能在同一个内网中,
同时创建的专有网络,必须与创建的实例在同一个区域
是否分配ipV6:根据公司情况而定,
安全组就类似于真机中的防火墙。控制云服务器对外开放的端口
在安全组中,优先级越小,优先级越高
通常情况下只开放22号端口
文件存储:类似于nfs
启动模板:将已经配置好的服务器作为模板保存下来,下次创建实例时可根据模板直接生成
自定义镜像:类似于VMware的快照
专有宿主机:就类似于真实的物理主机
不同区的路由表是不一样的
企业常用2核4G或4核8G的服务器。
阿里云搭建discuz步骤:
完成个人实名认证之后点击箭头处
选择云服务器ECS后,点击实例
根据箭头选择自己适合的配置(因为我是自己测试,所以选的是按量付费,一核一G的配置,公司用的话根据公司需求自定义即可)
点击箭头处完成自定义服务器
服务器创建完成后,点击网站左侧的实例,即可查看刚刚创建的服务器,然后按箭头所示操作即可
根据自己的情况定制服务器配置,设置登录用户与密码,点击下一步
确认订单即可
点击返回管理控制台
将通过xshell连接两台服务器(用户名与密码是你自己在上一步设置的)
将两台web服务器都安上nginx和PHP
[root@web001 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/
r
e
l
e
a
s
e
v
e
r
/
releasever/
releasever/basearch/
gpgcheck=0
enabled=1
module_hotfixes=true
[root@web001 ~]# yum install -y nginx
[root@web001 ~]# vim /etc/yum.repos.d/php.repo
[php]
name=this is php.repo
baseurl=http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck=0
yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
安装nfs-utils、rpcbind
[root@web001 ~]# yum -y install nfs-utils rpcbind
[root@web001 ~]# vim /etc/exports
/etc/nginx/conf.d 172.16.0.0/12 (rw,sync,all_squash,anonuid=1000,anongid=1000)
/www 172.16.0.0/12 (rw,sync,all_squash,anonuid=1000,anongid=1000)
[root@web001 ~]# useradd -u1000 www
[root@web001 ~]# chown -R www.www /etc/nginx/conf.d/
[root@web001 ~]# mkdir /www
[root@web001 ~]# chown -R www.www /www
[root@web001 ~]# systemctl enable --now nfs rpcbind
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@web001 ~]# showmount -e
Export list for web001:
/www (everyone)
/etc/nginx/conf.d (everyone)
[root@web001 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:25:24:6d brd ff:ff:ff:ff:ff:ff
inet 172.20.26.16/20 brd 172.20.31.255 scope global dynamic eth0
valid_lft 315357016sec preferred_lft 315357016sec
inet6 fe80::216:3eff:fe25:246d/64 scope link
valid_lft forever preferred_lft forever
在web02上创建用户,文件夹并挂载
[root@web002 ~]# mkdir /www
[root@web002 ~]# useradd www -u1000
[root@web002 ~]# mount -t nfs 172.20.26.16:/etc/nginx/conf
[root@web002 ~]# mount -t nfs 172.20.26.16:/www /www
[root@web001 ~]# cd /etc/nginx/conf.d/
[root@web001 conf.d]# ls
default.conf
[root@web001 conf.d]# rm -rf default.conf
[root@web001 conf.d]# vim discuz.conf
server {
listen 80;
server_name _;
root /www/upload;
location / {
index index.php index.html;
}
location ~* .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME
d
o
c
u
m
e
n
t
r
o
o
t
document_root
documentrootfastcgi_script_name;
include fastcgi_params;
}
}
[root@web001 www]# yum install -y lrzsz unzip
[root@web001 www]# rz -E
rz waiting to receive
[root@web001 www]# unzip Discuz_X3.4_SC_UTF8_20210320.zip
[root@web001 www]# nginx -t
[root@web001 www]# systemctl enable --now nginx
[root@web001 www]# systemctl enable --now php-fpm
此时web服务器基本配置完成
创建数据库
点击创建实例
根据上面配置即可
将web服务器加入数据库白名单,创建管理员用户,创建数据库discuz
最后给项目加上负载均衡,
按照上面的步骤执行即可
在浏览器中输入负载均衡服务器的外网ip即可
访问发现上面的报错,解决办法如下
[root@web001 config]# mv config_global_default.php config_global.php
[root@web001 config]# mv config_ucenter_default.php config_ucenter.php
[root@web001 config]# systemctl restart nginx
若上面方法无法解决,可以将/www下的discuz解压出的文件删除,重新上传,重新授权即可