阿里云服务器如何搭建LNMP?

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 阿里云服务器如何搭建LNMP?

安装 nginx



1  http://nginx.org/en/download.html  下载nginx的最新版

2 解压nginx安装包 tar -xzf nginx-1.9.3.tar.gz

3 进入 nginx-1.9.3

4 安装 zlib库

sudo apt-get install zlib1g-dev // Ubuntu

sudo yum install zlib-devel // centos

5 安装 PCRE库

sudo apt-get install libpcre3-dev # Ubuntu

sudo yum install pcre-devel # CentOS

6 安装可选的OpenSSL
# sudo apt-get install openssl
# sudo apt-get install libssl-dev

# sudo yum install openssl
# sudo yum install openssl-devel

7 进入<nginx源代码根目录>/src/core,然后用vi打开nginx.h头文件

8 ./configure // 执行配置命令
[nginx 被默认安装在 usr/local/nginx 中]

9 执行 make install

10 执行nginx -t 检查配置文件是正确的

11 进入/usr/local/nginx/sbin目录
# ./nginx //启动nginx服务
# ./nginx -s reload // 重启服务
// 如果发现80端口已经被占用,可能是nginx服务已经启动。
# pkill nginx // 杀掉nginx服务。
# ps -ef | grep nginx 命令查看内存中是否还有nginx进程。


安装 php


1、安装gcc及libxml2

yum install gcc -y

yum install libxml2* -y

2、下载最新PHP官方安装包 http://php.net/downloads.php
3、解压安装包

tar zxvf php-5.6.29.tar.gz

4、安装php

cd php-5.6.28

// 最简单的配置,(在配置phpmyadmin时,出现缺少扩展mbstring,mysqli的问题)

./configure --prefix=/usr/local/php --enable-fpm

// --prefix
// 比较全的配置 (但可能缺少库)

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --with-libxml-dir --with-gd --with-iconv --with-curl --with-png-dir --with-jpeg-dir --enable-sockets --enable-mbstring --enable-inline-optimization --enable-zend-multibyte --with-freetype-dir

// 个人本次使用的配置

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd

make && make install // 编译 安装

5、拷贝生产环境的PHP配置文件
cp /home/develop/php-5.6/php.ini-production /usr/local/php/etc/php.ini
6、拷贝php-fpm配置文件 (如果没有特殊要求,则直接使用默认配置即可)
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

7、启动服务

cd /usr/local/

// 启动nginx服务

./nginx/sbin/nginx

// 启动php

./php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

8、配置php和nginx 及 fastcgi
//打开nginx配置文件

cd /usr/local

vi nginx/conf/nginx.conf

其中有一段 修改成
location ~ .php$ {

        root           /mnt/www;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi.conf;
    }

// 其中 fastcgi.conf 在 /usr/localnginx/conf/中,安装自带的。
如果出现如下问题,就是没有配置好:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,
client: 180.167.68.134, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "..."


安装 mysql


卸载 mysql


  1. ps -ef|grep mysql 查看安装路径

  2. find / -name mysql 查看相关 文件包

  3. rpm -qa | grep -i mysql 查看相关组件

  4. rpm -ev mysql-community-server-5.6.35-2.el7.x86_64 删除组件

  5. rpm -ev mysql-community-client-5.6.35-2.el7.x86_64

  6. rpm -ev php-mysql-5.4.16-42.el7.x86_64

  7. rpm -ev mysql-community-release-el7-5.noarch

  8. rpm -ev mysql-community-libs-5.6.35-2.el7.x86_64

  9. rpm -e --nodeps mysql-community-libs-5.6.35-2.el7.x86_64 // 强制卸载

  10. rm -rf /var/lib/mysql 删除文件

  11. rm -rf /var/lib/mysql/mysql rm -rf /usr/share/mysql

  12. more /etc/passwd | grep mysql

  13. more /etc/shadow | grep mysql 删除组,用户

  14. more /etc/group | grep mysql 删除组,用户

  15. userdel mysql 删除用户

  16. groupdel mysql 删除组

  17. rpm -qa | grep -i mysql 确认是否卸载


安装 mysql


  1. 下载 MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar

  2. 解压 tar -xvf MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar

  3. cd MySQL-5.6.35 // 改文件名为 MySQL-5.6.35

  4. yum install MySQL-shared-compat-5.6.35-1.linux_glibc2.5.x86_64.rpm # 安装 RHEL兼容包

  5. yum install MySQL-server-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL服务端程序

  6. yum install MySQL-client-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL客户端程序

  7. yum install MySQL-devel-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL的库和头文件

  8. yum install MySQL-shared-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL的共享库

  9. cat /root/.mysql_secret配置MySQL登录密码
    // 获取MySQL安装时生成的随机密码 为 2M*8c

  10. service mysql start # 启动MySQL服务

  11. mysql -uroot -p # 进入MySQL,

  12. 使用之前获取的随机密码

  13. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');
    // 在MySQL命令行中设置root账户的密码为mypassword

  14. quit # 退出MySQL命令行

  15. service mysql restart # 重新启动MySQL服务


yum 安装 mysql


  1. yum install libaio # 安装libaio依赖包

  2. wget http://dev.mysql.com/get/mysq...


  3. yum localinstall mysql-community-release-el7-5.noarch.rpm

  4. yum install mysql-community-server

  5. 启动和关闭 MySQL Server

  6. systemctl start mysqld //启动 MySQL Server

  7. systemctl status mysqld // 查看 MySQL Server 状态

  8. systemctl stop mysqld //关闭 MySQL Server

  9. 防火墙设置 firewall-cmd(推荐)centos 7才可以

  10. firewall-cmd --permanent --zone=public --add-port=3306/tcp

  11. firewall-cmd --permanent --zone=public --add-port=3306/udp
    // 就开放了相应的端口。

  12. firewall-cmd --reload //使最新的防火墙设置规则生效

  13. 重置mysql密码


  1、systemctl start mysqld 先启动
2、mysql_secure_installation 安全设置 (没有密码 按enter 进入)
 Set root password? [Y/n] y        [设置root用户密码]
 Remove anonymous users? [Y/n] y            [删除匿名用户]
 Disallow root login remotely? [Y/n] n      [禁止root远程登录]
 Remove test database and access to it? [Y/n] y   [删除test数据库]
 Reload privilege tables now? [Y/n] y        [刷新权限]

3、新建数据库

//登录MYSQL&#xff08;有ROOT权限&#xff09;。这里我以ROOT身份登录
 [root&#64;iZ28gvqe4biZ ~]# mysql -u root -p
//首先为用户创建一个数据库hivemeta
mysql  &gt; create database hivemeta;
mysql  &gt; use hivemeta
//授权hdp用户拥有hivemeta数据库的所有权限。
mysql  &gt; grant all privileges on *.* to hdp&#64;&#34;%&#34; identified by &#34;hdp&#34; with grant option;
//刷新系统权限表
mysql  &gt; flush privileges;
mysql  &gt; use hivemeta;
//mysql/hive字符集问题
mysql  &gt; alter database hivemeta character set latin1;</code></pre> 

安装 phpMyAdmin


下载 phpMyAdmin


tar zxvf php-5.6.5.2.all-language.tar.gz // 解压

访问 phpMyAdmin/index.php


问题一 添加mbstring扩展


# cd /usr/src/php-5.6.29/ext/mbstring

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

echo ‘extension=mbstring.so' >>/usr/local/php/lib/php.ini

//或者打开 php.ini,直接添加extension=mbstring.so字段

重启服务器

问题二 添加 mysqli 扩展


# cd /usr/src/php-5.6.29/ext/mysqli

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

这样会在 /usr/local/php/lib/php/extensions/no-debug-non-ztszh中生成 mysqli.so文件

echo ‘extension=mysqli.so' >>/usr/local/php/lib/php.ini

或者打开 php.ini,直接添加extension=mysqli.so字段

网络上另一种配置是

./configure --with-php-config=/usr/local/php/bin/php-config –-with-mysql=/usr/lib64/mysql/

./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/lib64/mysql/bin/mysql_config

这个是针对mysql5.5之前。其中-with-mysql指的是mysql的安装路径。现在mysql5.6默认的安装在/usr/lib64/mysql/,但是没有mysql_config文件。


错误


打开 phpMyAdmin/index.php出现提示 You are using PHP’s deprecated ‘mysql’ extension,


解决:
在phpmyadmin中config.inc.php修改:
$cfg'Servers'['extension'] = 'mysqli';


执行PHP配置命令./configure 时提示以下错误:


checking for OS + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... not found
解决:
yum -y install gcc gcc-c++ autoconf automake make


使用SFTP错误:


Received unexpected end-of-file from SFTP server
解决方法:
vi /etc/ssh/sshd_config
删除Subsystem sftp /usr/libexec/openssh/sftp-server前面的"#",
保存退出,重启SSH
service sshd restart 然后重新连接FTP测试


云服务器ECS地址:阿里云·云小站

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
机器学习/深度学习 编解码 人工智能
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
随着人工智能、大数据和深度学习等领域的快速发展,GPU服务器的需求日益增长。阿里云的GPU服务器凭借强大的计算能力和灵活的资源配置,成为众多用户的首选。很多用户比较关心gpu云服务器的收费标准与活动价格情况,目前计算型gn6v实例云服务器一周价格为2138.27元/1周起,月付价格为3830.00元/1个月起;计算型gn7i实例云服务器一周价格为1793.30元/1周起,月付价格为3213.99元/1个月起;计算型 gn6i实例云服务器一周价格为942.11元/1周起,月付价格为1694.00元/1个月起。本文为大家整理汇总了gpu云服务器的最新收费标准与活动价格情况,以供参考。
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
|
6天前
|
云安全 弹性计算 安全
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器不仅提供了一些基础防护,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为大家介绍一下阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品。
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
|
5天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
目前企业对云服务器的性能、安全性和AI能力的要求日益提高。阿里云推出的第八代云服务器ECS g8i实例,以其卓越的性能、增强的AI能力和全面的安全防护,除了适用于通用互联网应用和在线音视频应用等场景之外,也广泛应用于AI相关应用。本文将深入解析ECS g8i实例的技术特性、产品优势、适用场景及与同类产品的对比,以供参考。
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
|
18天前
|
弹性计算 运维 搜索推荐
阿里云建站方案参考:云服务器、速成美站、企业官网区别及选择参考
随着数字化转型的浪潮不断推进,越来越多的企业和公司开始将业务迁移到云端,而搭建一个专业、高效的企业官网成为了上云的第一步。企业官网不仅是展示公司形象、产品和服务的重要窗口,更是与客户沟通、传递价值的关键渠道。随着阿里云服务器和建站产品的知名度越来越高,越来越多的用户选择阿里云的产品来搭建自己的官网。本文将深入探讨在阿里云平台上,如何选择最适合自己的建站方案:云服务器建站、云·速成美站还是云·企业官网。
103 13
阿里云建站方案参考:云服务器、速成美站、企业官网区别及选择参考
|
12天前
|
编解码 分布式计算 Linux
最新阿里云服务器、轻量应用服务器、GPU云服务器活动价格参考
阿里云服务器产品包含云服务器、轻量应用服务器、GPU云服务器等,本文汇总了这些云服务器当下最新的实时活动价格情况,包含经济型e实例云服务器价格、通用算力型u1实例云服务器价格、第七代云服务器价格、轻量应用服务器最新价格、GPU云服务器价格,以供大家参考。
最新阿里云服务器、轻量应用服务器、GPU云服务器活动价格参考
|
19天前
|
域名解析 弹性计算 数据挖掘
阿里云特惠云服务器82元、298元、99元和199元性能及选择参考
目前在阿里云的活动中有几款价格非常实惠的云服务器,现在购买2核2G轻量应用服务器最低只要82元1年,云服务器最低只要99元1年。购买2核4G轻量应用服务器最低只要298元1年,云服务器最低只要199元1年。本文为大家解析2024年阿里云这几款特惠云服务器的性能及选择参考。
阿里云特惠云服务器82元、298元、99元和199元性能及选择参考
|
4天前
|
开发框架 运维 应用服务中间件
阿里云轻量应用服务器82元和298元与云服务器99元和199元区别及选择参考
目前阿里云推出了几款价格比较实惠的轻量应用服务器和云服务器,轻量应用服务器有2核2G3M 50GB高效云盘,价格为82元1年;2核4G4M 60GB高效云盘,价格为298元1年;经济型e实例2核2G,40G ESSD Entry盘,3M带宽,价格为99元1年;通用算力型u1实例2核4G,80G ESSD Entry盘,5M带宽,价格为199元1年。本文将对这几款轻量应用服务器和云服务器进行对比和测评,分析其性能和适用场景,以供大家选择参考。
阿里云轻量应用服务器82元和298元与云服务器99元和199元区别及选择参考
|
7天前
|
运维 安全 网络安全
运维笔记:基于阿里云跨地域服务器通信
运维笔记:基于阿里云跨地域服务器通信
34 1
|
13天前
|
弹性计算 关系型数据库 应用服务中间件
从零基础到博主大亨!一键解锁阿里云ECS,LNMP秒搭WordPress,你的个性博文帝国,今日崛起!
【8月更文挑战第5天】随着互联网技术的发展,个人博客成为技术爱好者和内容创作者分享知识的平台。阿里云ECS以其高性能和灵活性成为搭建博客的优选。本文指导你购买配置ECS,并安装CentOS 7。通过SSH登录后,更新系统并安装LNMP环境,包括Nginx、MariaDB、PHP。配置Nginx处理PHP请求,初始化数据库并设置WordPress数据库。接着下载WordPress,解压并设置权限。最后,通过浏览器完成安装向导。利用WordPress丰富的资源定制网站,开启个性化创作之旅。记得定期备份数据,利用ECS的扩展性支持网站成长。
30 4
|
16天前
|
弹性计算 固态存储 ice
阿里云ECS服务器2核16G、4核32G和8核64G不同配置租赁价格表
2024年阿里云服务器提供多种配置与实例规格,如2核16G、4核32G及8核64G等,用户可根据需求选择内存型r8i、通用算力型u1等不同架构。以2核16G为例,r8i每月334.19元起,u1则为286.2元起。公网带宽与系统盘亦有多档价位。实际价格与折扣请参照官网。