萌生了一个做网站的想法,下面的文章参考了阿里云服务器的支持文档和wordpress大量的帮助文档。各位有想法的快行动起来吧~
1.环境说明
想要搭一个简易的网站,就需要一个公网ip,可以用域名绑定,也可以不用域名绑定,我没有使用域名绑定
云主机:阿里云主机
云主机系统:Centos8.0 64位(如果用的云主机是ubuntu系统,配置LNMP环境时方法是不同的,自行安装LNMP找到对应的配置文件,配置方法是一样的)
自己的主机系统:ubuntu18.04
云主机需要自己的主机进行远程连接,我这里用到的是ubuntu18.04,如果使用windows可以使用xshell等工具连接,需自行百度
2.连接云主机
2.1连接到
首先在自己的主机上安装ssh工具sudo apt install ssh
查看自己的云主机公网ip和主机密码
连接云主机ssh root@59.xx.xx.xx
(后面是你的公网ip地址),键入密码连接到云主机
2.2在云主机上创建新的用户
以下的4点操作实在云主机上进行
-
添加新用户
adduser new_user #根据自己的真实需求修改new_user
-
给新用户添加密码
passwd new_user
-
将新用户添加到
sudo
组中 编辑/etc/sudoers文件sudo vim /etc/sudoers
找到root这一行,并在下面添加new_user ALL=(ALL) ALL
ESC后:wq保存退出即可
如果提示sudoers只是可读需要先加w写权限,修改之后再修改回来
sudo chmod +w /etc/sudoers #加w权限 sudo chmod -w /etc/sudoers #取消w权限
-
使用`su命令切换到新用户
su new_user
这样,下次连接云主机时直接ssh new_user@59.xx.xx.xx
,输入new_user的密码即可
为了不需要每次都查找ip地址,我们可以用alias给这条命令做一个映射,在自己的主机上
sudo vim ~/.bashrc
在.bashrc中添加
#aliyun
alias aliyun='ssh mox@59.xx.xx.xx' #后面就是你的用户名和公网ip
保存退出后source ~/.bashrc
刷新一下文件
这样,下次连接时只需要在终端中aliyun
即可执行ssh mox@59.xx.xx.xx
这条命令
2.3自己的主机和云主机的文件传输scp命令
将自己主机的~/桌面/gcc.md传输(copy)到云主机的website目录下
scp -r ~/桌面/gcc.md mox@59.xx.xx.xx:~/website/ #当传输的是目录是加-r选项
#如果想从云主机上往自己的主机上copy东西交换两者的顺序即可
2.4开放端口
通过ssh连接云服务器需要开放云服务器的22端口
浏览器访问的是80端口,所以我们需要开放云主机的80端口
点击配置规则,点击添加安全组规则
点击保存即可
22端口一般是默认开放的,如果没有开放按照同样的方法添加即可
3.在云主机上部署LNMP
LNMP分别代表Linux、Nginx、MySQL和PHP。
- 操作系统:公共镜像CentOS 8.1 64位
- Nginx版本:Nginx 1.16.1
- MySQL版本:MySQL 8.0.17
- PHP版本:PHP 7.3.5
3.1准备编译环境
-
首先连接到云主机
-
关闭防火墙
systemctl status firewalld #查看防火墙状态
- inactive 防火墙关闭
- active 防火墙开启
systemctl stop firewalld #暂时关闭防火墙,下次重启会自动开启 systemctl disable firewalld #永久关闭
如果防火墙开启,我们选择永久关闭防火墙,两句命令都执行
-
关闭SELinux
运行
gentenforce
查看SELinux的当前状态- disable为SELinux关闭状态
- Enforcing为SELinux开启状态
临时关闭:
setenforce 0
永久关闭:运行命令**
sudo vim /etc/selinux/config
**编辑SELinux配置文件。回车后,把光标移动到SELINUX=enforcing
这一行,按i键进入编辑模式,修改为SELINUX=disabled
,按Esc键,然后输入:wq并按Enter键以保存并关闭SELinux配置文件。选择永久关闭的方法关闭
重启系统后生效
3.2安装Nginx
Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
-
安装Nginx
sudo dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm
-
查看Nginx版本
nginx -v
查看结果如下:
nginx version: nginx/1.16.1
3.3安装MySQL
安装数据库
-
运行以下命令安装MySQL。
sudo dnf -y install @mysql
-
运行以下命令查看MySQL版本。
mysql -V
结果
mysql Ver 8.0.17 for Linux on x86_64 (Source distribution)
3.4安装PHP
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
-
运行以下命令添加并更新epel源
sudo dnf -y install epel-release sudo dnf update epel-release
-
运行以下命令删除缓存的无用软件包并更新软件源。
sudo dnf clean all sudo dnf makecache
-
启用
php:7.3
模块。sudo dnf module enable php:7.3
-
运行以下命令安装PHP相应的模块。
sudo dnf install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
-
运行以下命令查看PHP版本。
php -v
查看版本结果如下所示。
PHP 7.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
3.5配置Nginx
-
运行以下命令查看Nginx配置文件的默认路径。
cat /etc/nginx/nginx.conf
红色圈出来的include即为Nginx的配置文件路径
-
在配置文件的默认路径下,备份默认配置文件。
cd /etc/nginx/conf.d sudo cp default.conf default.conf.bak
-
修改默认配置文件
-
运行以下命令打开默认配置文件。
sudo vim default.conf
-
按i进入编辑模式。
-
在
location
大括号内,修改以下内容。location / { #将该路径替换为您的网站根目录。 root /usr/share/nginx/html; #添加默认首页信息index.php。 index index.html index.htm index.php; }
-
去掉被注释的
location ~ \.php$
大括号内容前的#
,并修改大括号的内容。修改完成如下所示。
-