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

本文涉及的产品
云服务器 ECS,u1 2核4GB 3个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
简介: 阿里云服务器如何搭建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地址:阿里云·云小站

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
|
2月前
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
|
6天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
|
2天前
|
小程序 数据安全/隐私保护
阿里云新手入门:注册账号、实名认证、申请免费云服务器
阿里云新手指南:注册账号(手机号或支付宝快捷注册),完成实名认证(个人/企业)。通过免费服务器获取3个月试用。创建后,设置密码,远程连接,配置安全组规则,部署应用,如建站与环境安装。详询官方教程。
|
1天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU云服务器介绍_GPU租用费用_GPU优势和使用场景说明
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等GPU卡,结合高性能CPU,单实例计算性能高达5PFLOPS。支持多种实例规格,如A10卡GN7i、V100-16G卡GN6v等,应用于深度学习、科学计算等场景。GPU服务器租用费用因实例规格而异,如A10卡GN7i每月3213.99元起。阿里云还提供GPU加速软件如AIACC-Training、AIACC-Inference等。网络性能强大,VPC支持2400万PPS和160Gbps内网带宽。购买方式灵活,包括包年包月、按量付费等。客户案例包括深势科技、流利说和小牛翻译等。
|
1天前
|
存储 弹性计算 网络协议
阿里云hpc8ae服务器ECS高性能计算优化型实例性能详解
阿里云ECS的HPC优化型hpc8ae实例搭载3.75 GHz AMD第四代EPYC处理器,配备64 Gbps eRDMA网络,专为工业仿真、EDA、地质勘探等HPC工作负载设计。实例提供1:4的CPU内存配比,支持ESSD存储和IPv4/IPv6,操作系统限于特定版本的CentOS和Alibaba Cloud Linux。ecs.hpc8ae.32xlarge实例拥有64核和256 GiB内存,网络带宽和eRDMA带宽均为64 Gbit/s。适用于CFD、FEA、气象预报等场景。
|
2天前
|
存储 机器学习/深度学习 弹性计算
阿里云ECS计算型c8i服务器测评_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c8i实例采用Intel Xeon Emerald Rapids或Sapphire Rapids CPU,主频2.7 GHz起,支持CIPU架构,提供强大计算、存储、网络和安全性能。适用于机器学习、数据分析等场景。实例规格从2核到192核,内存比例1:2,支持ESSD云盘,网络带宽高达100 Gbit/s,具备IPv4/IPv6,vTPM和内存加密功能。详细规格参数表包括不同实例的vCPU、内存、网络带宽、IOPS等信息,最高可达100万PPS和100万IOPS。
|
1天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器租用费用_GPU服务器详解_A10、V100、T4、P4、P100
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等多种GPU卡,适合深度学习、科学计算等场景。实例性能强劲,单实例可达5PFLOPS混合精度计算,VPC网络支持2400万PPS和160Gbps内网带宽。GPU实例包括A10卡GN7i(3213.99元/月起)、V100-16G卡GN6v(3830.00元/月起)等,价格因配置而异。阿里云还提供GPU加速软件如AIACC-Training和AIACC-Inference,以及弹性计算实例EAIS。客户案例包括深势科技、流利说和小牛翻译等。
|
2天前
|
小程序 数据安全/隐私保护
阿里云账号注册、完成实名认证,最后申请免费云服务器全流程
**阿里云新手指南:** 1. 注册阿里云账号,支持手机号或第三方快速注册。 2. 完成实名认证,个人选个人认证,企业选企业认证,支付宝认证快速。 3. 访问[免费服务器页面](https://free.aliyun.com/?source=5176.11533457&userCode=r3yteowb)申请3个月免费云服务器。 4. 选服务器,点击“立即试用”,按提示操作。 5. 服务器创建后,设密码,远程连接,配置安全组,部署应用,参考阿里云官方教程。
|
2天前
|
敏捷开发 弹性计算 负载均衡
阿里云云效产品使用问题之如何将应用部署到部署组的某一台特定服务器上
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

热门文章

最新文章