腾讯云部署 LNMP 教程(含分区和格式化)
本篇参考腾讯云官方文档:https://cloud.tencent.com/document/product/213/2125
一、创建安全组:
1、云服务器 - 安全组 - 新建规则 - 入站规则的入站规则设置开通80端口。如下:
来源:0.0.0.0/0 - 允许网络上任何位置对绑定的云服务器进行访问
协议端口:TCP:80 - 开通80
——或者直接开放所有端口。
完成之后,我们就会有两个规则。如下:
2、点击云主机 - 更多 - 配置安全组,勾选放通全部端口的选项。然后就可以通过IP访问了。
二、分区和格式化(注意:腾讯云不支持对系统盘进行分区,系统盘就不要管它了。)
1、输入命令fdisk -l
查看您的数据盘信息。本示例中,有一个 54 GB 的数据盘(/vdb)
需要挂载。(fdisk -l
与df -h
都为拆看数据盘信息命令,但在没有分区和格式化数据盘之前,使用df -h
命令无法看到数据盘。)
————此时vdb是没有进行分区的,所有没有分区的信息(Device)。
2、对数据盘进行分区。按照界面的提示,依次操作:输入fdisk /dev/vdb
(对数据盘进行分区),回车;输入n
(新建分区),回车;输入p
(新建扩展分区),回车;输入1
(使用第 1 个主分区),回车;输入回车(使用默认配置);再次输入回车(使用默认配置);输入wq
(保存分区表),回车开始分区。
这里以创建 1 个分区为例,开发者也可以根据自己的需求创建多个分区。
3、使用fdisk -l
命令,即可查看到,新的分区 vdb1 已经创建完成。
4、新分区vdb1的格式化 --->>>
mkfs.ext3 /dev/vdb1
5、挂载新分区:使用以下命令创建 mydata 目录并将分区挂载在该目录下:
mkdir /mydata mount /dev/vdb1 /mydata
6、使用df-h挂载查看挂载
7、设置启动自动挂载
如果希望云服务器在重启或开机时能自动挂载数据盘,必须将分区信息添加到 /etc/fstab
中。
使用以下命令添加分区信息:
echo '/dev/vdb1 /mydata ext3 defaults 0 0' >> /etc/fstab
8、使用以下命令查看:
cat /etc/fstab
出现如图最下方框选的 vdb1 信息则说明添加分区信息成功。
三、 安装nginx
1、自动安装 Nginx。输入命令:
yum install nginx service nginx start chkconfig --levels 235 nginx on
2、启动 Nginx 服务。输入命令:
service nginx restart
centOS7之下重启nginx是:
/bin/systemctl restart nginx.service
3、命令行测试 Nginx 服务是否正常运行。输入命令:wget http://127.0.0.1
。
若服务正常,显示结果如下。
--2013-02-20 17:07:26-- http://127.0.0.1/ Connecting to 127.0.0.1:80... connected. HTTP request sent, awaiting response... 200 OK Length: 151 [text/html] Saving to: `index.html' 100%[===================================>] 151 --.-K/s in 0s 2013-02-20 17:07:26 (37.9 MB/s) - `index.html' saved [151/151]
4、浏览器中测试 Nginx 服务是否正常运行。访问 CentOS 云服务器公网 IP。
若服务正常,显示结果如下。
该网页的 html 位置为:/usr/share/nginx/html。可以直接删除。
四、安装MySQL
1、安装 MySQL/mariaDB。
输入命令:
yum install mariadb mariadb-server //centOS7以后的版本,下载mariadb
或者:
yum install mysql mysql-server mysql-devel //centOS6.8前会下载mysql,7之后会下载mariaDB
注意,此时下载下来的是mariaDB。(centOS7没有继承mysql,所以下载下来的是mariadb,所以可以直接使用yum install mariadb mariadb-server来下载mariadb)。
2、启动 mariadb 服务。输入命令:
systemctl start mariadb
3、设置密码等配置:
mysql_secure_installation
————然后就会有各种设置。
设置完之后,可以使用以下语句进行测试:
mysql -uroot -p123456
show variables like 'character_set_%';
4、设置开机自启动:systemctl enable mariadb
5、假设登录了,退出的三种方式:
mysql > exit; mysql > quit; mysql > \q;
6、由于设置了root只能本地登录,所以得创建新用户进行任意主机登录。
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
然后赋予用户权限:(只能root用户赋予,新用户没有权限。)
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON *.* TO 'username'@'%' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
权限的意思如下:
7、刷新权限:
flush privileges
8、重启mariaDB:
systemctl restart mariadb.service
附加知识:
查看所有用户:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
查看某个用户权限:
show grants for 'username'@'%';
五、安装PHP
1、安装 PHP 。输入命令进行安装:
yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
2、安装所需组件使 PHP 支持 MySQL、FastCGI 模式。
yum install php-tidy php-common php-devel php-fpm php-mysql
六、Nginx 与 PHP-FPM 集成
1、启动 PHP-FPM。输入命令启动 PHP-FPM 服务:service php-fpm start
。
————在使用以上命令的时候,出现了提示:
Redirecting to /bin/systemctl start php-fpm.service
——估计是使用的是Centos7或者 Fedora高版本。启用服务变化了。执行命令使用:
/bin/systemctl start php-fpm.service
2、输入命令查看 PHP-FPM 默认配置:cat /etc/php-fpm.d/www.conf |grep -i 'listen ='
返回结果为:listen = 127.0.0.1:9000
,表明 PHP-FPM 默认配置的监听端口为 9000,只需修改配置,将 PHP 解析的请求转发到 127.0.0.0:9000 处理即可。
3、修改 Nginx 配置。
输入命令查找 Nginx 配置文件:
nginx -t
使用vi
命令修改该配置文件:
在配置文件中找到以下片段,修改黄色部分:
server { listen 80; root /www/shua/public/; server_name shua.besunway.com; #文件识别 location / { index index.html index.php index.htm; } # 路由重写 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } # 请求转交给PHP location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # 设置图片过期时间 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } # 设置js和css缓存时间 location ~ .*\.(js|css)?$ { expires 1h; } }
4、 查看配置是否正确。输入命令:cat /etc/nginx/nginx.conf
。
5、配置完成后,重启服务。输入命令:service nginx restart
。
七、环境配置验证
用以下命令在 web 目录下创建 index.php:
vim /usr/share/nginx/html/index.php
写入如下内容:
<?php echo "<title>Test Page</title>"; echo "hello world"; ?>
在浏览器中,访问 CentOS 云服务器公网 IP ,查看环境配置是否成功。如果页面可以显示“hello world”,说明配置成功。
八:配置文件位置:
虚拟主机配置:/etc/nginx/conf.d/
nginx日志文件:/var/log/nginx/
nginx配置文件位置:/etc/nginx/nginx.conf
常用重启命令:
// 重启nginx /bin/systemctl restart nginx.service service nginx restart // 重启mariadb systemctl restart mariadb.service
—————占位符