第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 阿里云服务器ESC实例搭建网站部署LAMP环境记录

阿里云服务器ESC实例搭建网站部署LAMP环境记录

时间:2020-10-20 00:26:09

相关推荐

阿里云服务器ESC实例搭建网站部署LAMP环境记录

本文是本人按如下的官方教程在阿里云ESC实例上部署LAMP环境的操作步骤+各种踩坑经历的总结记录,仅供和我一样在阿里云上折腾搭环境的小白参考。

官方教程链接:搭建个人网站-阿里云帮助中心

------------------------------------------------------------------------------------------------------------------------------

安装Apache

官方给的教程里面步骤很简单,就几行代码。但是我一共经历了三个大坑才安装成功。

坑一 httpd安装

yum install -y httpd httpd-manual mod_SSL mod_perl mod_auth_mysql

我第一次运行时就死活不行,一直报错,报no match什么的,复制粘贴第一句就这情况真的很搞心态,外加小白什么都看不懂,差点崩溃。(直到后来某次把实例玩脱了得重装系统,装了CentOS 7.9版本,这句才运行成功)

yum -y install httpd #安装HTTPd的替换语句

systemctl start httpdsystemctl enable httpd

systemctl status httpd

坑二 80端口被占

第一次把apache给装上后,是死活起不来的,不管怎么systemctl start httpd,一看status还是dead。鱼哭了水知道,我哭了谁知道啊,太欺负人了

当时按网上办法各种改,端口改完80改433禁防火墙禁SELinux禁enforce之类吧啦吧啦一通改,终于所有报错都没有了,httpd状态也变成绿色的active,于是我喜滋滋去浏览器访问,收获的全是无法连接。都给我整无语了。

直到很久以后我才终于找到问题根源——阿里云盾把80端口占了。

(因为apache总是有各种问题,所以就半路改装别的了:一次改安装tomcat,8080端口浏览器就访问到了,一次用docker装nginx,映射80端口访问到了,外加之前HTTP运行反复查看端口的一些情况,故而引起了我的怀疑)

netstat -ano #列出所有端口的情况netstat -tulpn #查看在使用的端口

losf -i :80 #查看80端口情况

是他是他,就是他。

终于破案了。呜呜呜。HTTP的配置文件etc/httpd/conf/httpd.conf都改麻了也没想到原来是这样。

方一:设置转发端口(这个我到最后也没研究明白)

方二:修改端口(打不过我就绕路嘛)

sudo fuser -k 80/tcp #试过,云盾还在,我绝望了

etc/httpd/conf/httpd.conf 改两处端口号,我这里是改到8000去了

vim编辑器:

i键,进入编辑模式。

按esc,按:,wq保存退出vim

坑三 设置安全组

我确定以及肯定,防火墙SELinux和enforce都没有阻拦。但是还是无法连接。

网上说要设安全组。

设就设呗,来都来了。心累。

给8000端口加安全组,我还回去确认了下,8000确实在使用,而且确实只有一个进程在用。

浏览器访问 http://公网ip:8000

终于见到这个页面了,太不容易了。虽然它看起来很简单,但对我来说,却是走了很久很久才终于来到它面前。

(题外话:我在阿里云上除了实例ESC,还白嫖了一个域名,IP和域名也做了对应配置。但是这里用IP访问就有,用域名就还是无法连接。不晓得为什么。)

安装Mysql

教程步骤如下,我一路都没遇到坎。

wget /get/mysql57-community-release-el7-10.noarch.rpmyum install -y mysql57-community-release-el7-10.noarch.rpmyum install -y mysql-community-server --nogpgcheck

systemctl start mysqld.service

systemctl status mysqld.service

grep "password" /var/log/mysqld.log

mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED BY '<新密码>';#分号要加,分号对MySQL很重要

create database pbootcms;

show databases;

exit;#quit好像也行

一路畅通无阻是真的爽,直到后来我再使用数据库和想在本地连接阿里云数据库。。。。

重置密码

咱也不知道为什么,ALTER USER 'root'@'localhost' IDENTIFIED BY '<新密码>';这句里面明明设了新密码,但是msql -uroot -p 输入新密码就是抱错。

气人哦,上一秒设的密码,下一秒再登就说我密码错误。(难道exit出去要重启mysql???不知道,当时没试)

跳过输入密码

重置mysql密码第一步,设置输密码这步可以跳过。

vim /etc/my.conf

/etc/my.conf 是mysql的配置文件,

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,

修改密码

mysql -uroot -p;

输密码直接跳过,哦吼~

use mysql; #这步我总是忘记

update user set authentication_string='密码' where user='root';

Mysql5.7的密码字段不叫password,而是叫authentication_string

Mysql5.7也没有password()函数

#刷新系统权限表flush privileges;exit;

systemctl restart mysqld #重启数据库

后续

最后,将刚才在/etc/f配置文件中的“skip-grant-tables”删除,然后再重启遍数据库

重装mysql

放个重装mysql要用的语句,毕竟重装解决100%的问题。(别问了,都是泪)

rpm -qa | grep -i mysqlyum -y remove ###find / -name mysqlrm -rf ###

设置本地远程连接

本地navicat不能连接云服务器的MySQL是因为没有开放连接其他主机的权限。

进入mysql

#进入mysql并查询user表​​​​​​mysql -uroot -p use mysql;select User,authentication_string,Host from user;

目前root只能连接本地。

设置

要设置远程连接权限:

一可以把root的host改为%(%代表所有主句)

update user set host='%' where user='root';

二可以新建一个开放给所有主机的新用户

#新建一个'root123'用户,并开放给所有主机GRANT ALL PRIVILEGES ON *.* TO 'root123'@'%' IDENTIFIED BY 'root123的密码';

(我选的方二)再次查询用户表,确认用户和权限已经设置好

select User,authentication_string,Host from user;

#保持修改退出+重启(看情况要不要操作)flush privileges;exit;systemctl restart mysqld

本地确认

本地navicat测试连接,成功

(很简单对吧,但事实上我折腾了两天才做到的,呜呜呜。)

安装PHP

#运行以下命令,添加EPEL源。yum install -y \https://repo.ius.io/ius-release-el7.rpm \/pub/epel/epel-release-latest-7.noarch.rpm#运行以下命令,添加Webtatic源。rpm -Uvh /yum/el7/webtatic-release.rpm

yum install -y php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-pdo.x86_64 php70w-mysqlnd php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb

systemctl restart httpd

php -v

安装成功,(PHP一路安装也很顺利,没有什么坎,欣慰.jpg)

还可以在/var/www/html/ 添加test.php文件,看下从浏览器访问的方式验证。

chmod -R a+w /var/www/html

touch /var/www/html/test.phpvim /var/www/html/test.php<?phpecho "hello world";?>

我只是想跟着教程学习部署LAMP环境罢了,所以后面的关于PbootCMS就没再操作了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。