0.前提
最近开始捣鼓云服务器,借用了一下实验室师兄的腾讯云服务,安装好了Ubuntu18.04,准备在云服务器CVM(Cloud Virtua Machine)上部署自己的项目,部署项目之前肯定要先装好自己的环境,这里采用典型的LNMP模型,即Linux,Nginx,Mysql,PHP。
1. 安装环境
1.1 登录Linux云服务器。
如何购买云服务器,这种事情就不说了,在阿里云和腾讯云上有很多介绍,本篇文章主要讲如何搭建LNMP环境
登录云服务器的方式有很多,如:
(1)Windows下可以直接打开cmd输入命令行:ssh 云服务器用户名@192.*.*.*公网IP
,接着输入密码直接进到云服务器中去。
(2)如果想同时拥有文件传输功能,大部分开发者是下载了一个Xshell的软件进行登录,这个软件使用的基本方法如下:
下载软件,打开输入连接名称和IP地址,然后跳转到另一个页面填写用户名和密码,连接上之后,输入命令本地上传文件命令:rz
,服务器下载命令:sz
,如若没有此命令,则需要安装sudo apt install lrzsz
。
(3)如果电脑操作系统是Linux或者是虚拟机下装Ubuntu的,直接打开终端输入命令行:ssh 云服务器用户名@192.*.*.*公网IP
,接着输入密码进到云服务器。
1.2 安装mysql
安装mysql不用采取先到官网下载安装包再解压安装包,然后进行编译的方法进行安装,现在的云服务器提供了直接安装的快捷方式,安装步骤如下:
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysqlclient-dev
如果跳出了【Y/N】都是直接输入y
mysql5.7出了新的机制,输入以上三条命令时不会
像以前那样子会弹出一个画面框来设置root的登录密码,然后使用用户名为root,密码为刚才画面框的密码, 画面框如下:
查看数据库安装完成,输入mysql --version
,若有如下界面,则代表成功:
接下来为Mysql添加用户用于外网远程访问,每个用户下进行数据库、表的设计工作,需要创建用户和授权用户,步骤如下:
- 进入mysql输入命令行:
sudo mysql
- 创建用户和密码:
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
注意一下:@‘%’中%意思是允许任何外网设备都可以访问此用户 - 授权用户:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';
- 查看用户表信息:
select user,host,plugin from mysql.user;
具体过程如截图,部分密码已打码:
(这里需要注意的是,外网设备不能访问连接root用户,是因为mysql5.7的保护免遭外网拦截root用户信息从而造成数据库的安全问题,可以通过创建新用户的方式进行访问)
到此还没结束,为了给外网设备远程访问mysql,还需要去到mysql配置文件进行配置一行代码,方法如下:
进入到mysql配置文件目录下:cd /etc/mysql/mysql.conf.d
,键入ls,会发现有2个文件mysqld.cnf 和 mysqld_safe_syslog.cnf
用命令行采用vi编辑器打开文件mysqld.cnf:sudo vi mysqld.cnf
,添加一行代码:bind-address = 0.0.0.0
这里拓展一下mysql数据库的知识,有时候我们上传文件、下载文件,或者进行数据库的设计,遇到输入汉语中文的时候出现乱码的现象,这里需要进行设置数据库的编码机制,我们可以先查看数据库中各节点都用到了那些编码规则,我们进入到数据库中,输入:show variables like 'char%'
,从下面截图中我们可以得到数据库各部分的编码规则,其中特别要注意的是character_set_database
默认为latin1
,我们来进行修改,将其改为中英文兼容的utf8编码方式。
修改编码方式步骤:
- 进入到配置文件:
cd /etc/mysql/conf.d
- 用户超级权限打开配置文件:
sudo vi mysql.cnf
- 打开mysql.cnf 文件,如图添加代码:
[mysql] default-character-set=utf8
,如图所示: - 接着进入到另一个配置文件
cd /etc/mysql/mysql.conf.d
,打开mysqld.cnf 文件:sudo vi mysqld.cnf
,在lc-messages-dir = /usr/share/mysql
语句后添加character-set-server=utf8
语句,如图所示: - 在终端中输入 /etc/init.d/mysql restart 命令重启MySQL服务,如图所示,重启成功。
6.最后进入mysql操作页面,再输入命令:show variables like 'char%'
,查看是否修改成功
到此,Mysql已经配置完成,我们可以试下来连接我们的数据库,测试截图如下(我用的软件是MysqlWorkbench,其他软件测试原理差不多):
1.3 安装Nginx
安装Nginx的过程相对于安装Mysql就显得很简单了,安装如下步骤安装,然后写一些代码进行测试。步骤如下:
- ssh服务器,进入到云服务器输入安装指令,这样就安装好了Nginx
sudo apt-get install nginx -y
- 启动Nginx,直接输入命令:
sudo nginx
,
若要停止nginx,输入命令:sudo nginx -s stop
,
若要查看nginx版本,输入命令:sudo nginx -v
- 测试,启动nginx后在一个浏览器输入云服务器的公有IP地址
*.*.*.*
,则会跳转到nginx的欢迎页面,可以试一下哦! - 我们来自己写一个页面,输入公有IP地址
*.*.*.*
,会跳转到我们写好的页面,步骤如下:
(1)我们要清楚一点,安装好的nginx默认的所有html页面都被安装在/etc/nginx/html
下,既然我们要写自己的页面,可以不按照它的默认路径,我们去到cd /data
下,创建我们用于存放页面的文件夹命令如下,这样就创建了一个名为www的文件夹,我们可以输入ls
可以看到它被成功创建了
sudo mkdir -p www
(2)进入到www文件夹,创建一个名为index.html
的文件命令:
sudo touch index.html
(2)用vi 打开index.html.写好我们用于测试的代码并保存
sudo vi index.html
在此文件下敲入如下代码:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>第一个静态文件</title>
</head>
<body>
Hello world!测试成功了!
</body>
</html>
(3)最后,要去修改nginx的配置文件,去到cd /etc/nginx
,打开nginx.conf,并敲入如下代码,关键是写好root /data/www;
,它将会访问在/data/www下的页面文件,写好保存退出。
sudo vi nginx.conf
(4)最后关闭nginx再重启nginx
,或者直接重启sudo nginx -s reload
(5)测试,在浏览器输入:http://132.*.*.*/index.html
,如果没有看到,重试几次第(4)步,并刷新浏览器页面。
即可看到如下页面:
1.3 安装PHP
安装PHP及相应组件,步骤如下:
- PHP的安装,输入命令:
install php php-fpm
,当需要确认时输入”y“确认 - 启动php-fpm服务,输入命令:
service php-fpm start
,并查看php-fpm配置,输入命令:cat /etc/php-fpm.d/www.conf |grep -i 'listen ='
PHP的安装就到此结束了,上面只是介绍了PHP的大概安装。
2. 总结
到此就完成了LNMP环境的搭建工作,该搭建工作是基于命令行下完成的,可以让我们更加熟悉命令行的使用,如果不想输入太多命令,想要可视化的安装,可以查看我的下一篇博客:腾讯云服务器Ubuntu下LNMY搭建部署工作(二)(完):通过宝塔面板更加快捷地安装。