建站过程实录(完)
购买云服务器ECS
通过这个链接购买ECS有优惠,点击直达,服务器配置如下图所示
默认阿里云的配置,直接下单。699元
购买域名
qdgithub.com 已买下,5年325元
远程链接
ssh远程链接
Linux 安装apache
本章使用的Linux系统为CentOS 7,下面将介绍apache服务的启动、关闭与设置。 apache在CentOS 7中一般是默认安装的,而且服务名字为httpd。
1.安装apache及查看相关配置
# apache安装命令
$ yum -y install httpd
# 查看apache文件的位置
$ find / -name 'httpd'复制代码
Apache配置文件位于/etc/httpd/conf
,主要的配置文件是/etc/httpd/conf/httpd.conf,
apache相关的配置信息都可以在这个文件中看到。
2.apache服务的启动与关闭
# 启动服务
$ systemctl start httpd.service
# 查看服务
$ ps -aux | grep httpd
# 停止服务
$ systemctl stop httpd.service
# 重启服务
$ systemctl restart httpd.service复制代码
启动服务后,可以在外网通过服务器的IP地址访问。可以看到如下界面:
3.修改Apache默认网站路径
Apache安装好后,默认的网站路径是/var/www/html,也就是说以后我们想部署网站的话,必须把文件放到这个目录下,例如我们下面测试一下。
echo "你好,Apache 首页 By Qdgithub.com 2018.09.06" > /var/www/html/index.html
# 即可生效,刷新浏览器复制代码
安装PHP
# 安装php
$ yum -y install PHP
# 安装完成后,我们的php配置文件路径是:
$ /etc/php.ini
# 重启apache让php生效:
$ systemctl restart httpd.service/systemctl restart httpd复制代码
测试PHP环境
# 写入php程序
$ echo "<?php echo "qdgithub.com的第一个PHP测试页面"; phpinfo(); ?>" > /var/www/html/index.php复制代码
在浏览器中访问http://你的ip/index.php后可以看到如下效果则说明php安装成功
安装mysql
不要着急,看完再操作。 本服务器是以安装mysql5.7为例
1.mysql安装准备
CentOS7.3的yum源中默认是没有mysql的。 为了解决这个问题,我们要先下载mysql的repo源。
# 下载mysql的repo
$ wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安装mysql源安装包
$ rpm -ivh mysql57-community-release-el7-11.noarch.rpm复制代码
安装这个包后,会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
有兴趣的同学可以打开来看下里面的内容。
另外,阿里云服务器安全配置,开放3306端口,允许远程连接 如果是阿里云服务器:设置安全组配置
实例列表,当前使用的实例右侧,更多》网络和安全组》安全组设置》配置规则
2.安装mysql
yum -y install mysql-community-server
3. 启动mysql服务
[root@kkcode ~]# systemctl start mysqld
# 查看是否已经安装mysql
[root@kkcode ~]# rpm -qa | grep mysql复制代码
4. 设置开机自启动
# 开机启动
[root@kkcode ~]# systemctl enable mysqld
# 刷新配置
[root@kkcode ~]# systemctl daemon-reload复制代码
5.修改mysql root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。
# 找出密码
$ grep 'temporary password' /var/log/mysqld.log
# 使用该密码链接mysql
$ mysql -u root -p
# 进入mysql命令行,修改密码为Qdgithub.com
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qdgithub.com';
Query OK, 0 rows affected (0.00 sec)
复制代码
6.设置允许远程登录
Mysql默认不允许远程登录,我们需要设置下,并且防火墙开放3306端口;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Qdgithub.com' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> exit;
Bye
#启动Firewall
[root@kkcode ~]# systemctl start firewalld
#设置开机自启动
[root@kkcode ~]# systemctl enable firewalld.service
# 防火墙开放3306端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 防火墙开放80端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 刷新防火墙配置
[root@localhost ~]# firewall-cmd --reload
# 查看端口禁用和开启情况
[root@localhost ~]# iptables -L -n复制代码
关于iptables请看Linux下iptables 禁止端口和开放端口
最后安装php,php-fpm以及php扩展
php所有扩展 ./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs;
yum install php php-fpm php-bcmatch php-gd php-mbstring php-mcrypt php-mysql
# 重启apache
[root@localhost ~]# systemctl restart httpd.service
# 查看进程或查看端口
[root@localhost ~]# ps -ef|grep httpd
[root@localhost ~]# netstat -tulpn复制代码
远程成功连接Mysql 测试连接成功效果切图
如果还想安装phpadmin,可以参考下面的文章,个人感觉没必要。 阿里云ECS服务器Linux环境下配置php服务器(二)--phpMyAdmin篇
发布网站
当使用Xftp
把网站源码放到var/www/html
目录下时。
网站源码是thinkphp3.2.3+layui
开发的个人博客。
通过浏览器访问是,发生了_STORAGE_WRITE_ERROR_
的问题。也就是文件的读写权限问题,进入到var/www/html
目录下,修改Runtime目录的读写权限。
chmod -R 777 Runtime复制代码
再次通过浏览器访问
thinkphp
报Class 'PDO' not found
的错误,在Xshell
客户端中,链接远程服务器,在根目录下依次执行
// 安装pdo扩展
yum install php-pdo
// 后面也报mysql的错,因此一并按照了
yum install php-mysql复制代码
【参考文章】