在linux环境下安装lnmp

lnmp官网:https://lnmp.org

一:lnmp安装

参考:https://lnmp.org/install.html

1:下载lnmp安装包

wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz

2:解压lnmp安装包

 tar zxf lnmp2.0.tar.gz

3:安装lnmp

cd lnmp2.0
./install.sh lnmp

如需要安装LNMPA或LAMP,将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可

运行上述LNMP安装命令后,会出现如下提示:

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10如果是编译安装必须在1G以上内存的更高配置上才能选择,如果 不需要安装数据库时输入0即可,如果选择MySQL/MariaDB如果有对应架构的二进制包会提示:"Using Generic Binaries [y/n]:" 这一步是提示是否使用二进制安装,输入 y 为使用二进制安装,输入 n 为使用源码编译安装。如果没有提示说明当前架构没有对应的二进制安装包。

设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需按Backspace键)

询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n

输入要选择的PHP版本的序号

选择是否安装内存优化,提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

如下表示安装成功,某些系统可能会一直卡在Install lnmp V2.0 completed! enjoy it.不自动退出,可以按Ctrl+c退出

同时也支持单独安装Nginx或数据库,如果已经安装了指定php版本,还可以安装多个版本的php

./install.sh nginx  #单独安装nginx
./install.sh db     #单独安装mysql
./install.sh mphp	#多版本php安装

二:nginx,mysql,php升级

参考:https://lnmp.org/faq/lnmp1-2-upgrade.html

1:nginx升级

访问 http://nginx.org/en/download.html 可查找nginx版本号

./upgrade.sh nginx

2:mysql升级

访问http://dev.mysql.com/downloads/mysql/ 获取MySQL的版本号

./upgrade.sh mysql 

3:MySQL升级至MariaDB

访问https://downloads.mariadb.org/获取MariaDB的版本号

./upgrade.sh m2m

4:MariaDB升级

访问https://downloads.mariadb.org/获取MariaDB的版本号

./upgrade.sh mariadb

5:php升级

访问http://www.php.net/downloads.php 获取版本号

./upgrade.sh php

三:LNMP相关软件目录及配置文件位置

参考: https://lnmp.org/faq/lnmp-software-list.html

1:LNMP相关软件安装目录

  • Nginx 目录: /usr/local/nginx/
  • MySQL 目录 : /usr/local/mysql/
  • MySQL数据库所在目录:/usr/local/mysql/var/
  • MariaDB 目录 : /usr/local/mariadb/
  • MariaDB数据库所在目录:/usr/local/mariadb/var/
  • PHP目录 : /usr/local/php/
  • 多PHP版本目录 : /usr/local/php5.5/ 其他版本前面5.5的版本号换成其他即可
  • PHPMyAdmin目录 : /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
  • 默认网站目录 : /home/wwwroot/default/
  • Nginx日志目录:/home/wwwlogs/
  • 添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/

2:LNMP相关配置文件位置

  • Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
  • 添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
  • MySQL配置文件:/etc/my.cnf
  • PHP配置文件:/usr/local/php/etc/php.ini
  • php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

四:修改mysql的数据存储目录和nginx默认访问地址

1:lnmp安装前

在安装之前我们将lnmp安装包解压之后,在解压包中我们可以看到一个名为lnmp.conf的文件,修改lnmp.conf文件:

修改lnmp.conf文件之后再进行安装,这时候mysql的数据存储地址和默认访问地址就变成我们设置的了

2:lnmp安装后

(1):首先执行/etc/init.d/mysql stop停止mysql,然后执行cp -a /usr/local/mysql/var/* /XXX/,再chown mysql:mysql -R /XX/ 最后修改/etc/my.cnf

最后启动MySQL即可

(2):找到nginx的主配置文件(/usr/local/nginx/conf/nginx.conf)进行修改

五:lnmp添加虚拟主机(网站)

参考:https://lnmp.org/faq/lnmp-vhost-add-howto.html

lnmp vhost add

出现如下界面:

输入要添加网站的主域名

询问是否添加更多域名

设置网站的目录(注意如要输入必须是全路径即以/开头的完整路径!!!

配置是否开启伪静态

配置伪静态方式,默认存在ordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2,zblog等常用的Nginx伪静态配置文件

配置是否启用pathinfo

配置是否启用运行日志

配置日志存储地址

配置是否使用IPV6

配置站点使用的php版本

配置是否添加数据库和数据库用户

验证mysql的root账号密码

配置创建的数据库名称

配置创建的数据库密码

配置是否添加SSL,如果输入y需要使用自己准备好的SSL证书和key

如上表示站点配置成功

六:LNMP状态管理命令

参考:https://lnmp.org/faq/lnmp-status-manager.html

  • lnmp状态管理: lnmp {start|stop|reload|restart|kill|status}
  • Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
  • MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
  • PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
  • 多PHP版本状态管理:/etc/init.d/php-fpm5.5 {start|stop|quit|restart|reload|logrotate} 前面5.5为对应的PHP版本,其他版本自行替换。
相关推荐
量子网络6 分钟前
debian 如何进入root
linux·服务器·debian
时光の尘9 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
我们的五年13 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)
linux·运维·c++
运维老司机36 分钟前
Jenkins修改LOGO
运维·自动化·jenkins
D-海漠1 小时前
基础自动化系统的特点
运维·自动化
我言秋日胜春朝★1 小时前
【Linux】进程地址空间
linux·运维·服务器
繁依Fanyi1 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo2 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
m51272 小时前
LinuxC语言
java·服务器·前端