lnmp一键脚本以及相关配置

下面是来自lnmp脚本官方的说明:
系统需求:

CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版
需要5GB以上硬盘剩余空间,MySQL 5.7,MariaDB 10至少9GB剩余空间
需要128MB以上内存(128MB小内存VPS,Xen需有SWAP,OpenVZ至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统!
安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存!。
VPS或服务器必须已经联网且必须设置的是网络源不能是光盘源,同时VPS/服务器DNS要正常!
Linux下区分大小写,输入命令时请注意!
如有通过yum或apt-get安装的MySQL/MariaDB请自行备份数据等相关文件!
CentOS 5,Debian 6及之前版本其官网已经结束支持无法使用!
一、LNMP的安装

一键安装,直接命令行运行下面命令:
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp

以下为安装前简易设置,切记牢记mysql密码:

  +------------------------------------------------------------------------+
    |          LNMP V1.5 for CentOS Linux Server, Written by Licess          |
    +------------------------------------------------------------------------+
    |        A tool to auto-compile & install LNMP/LNMPA/LAMP on Linux       |
    +------------------------------------------------------------------------+
    |           For more information please visit https://lnmp.org           |
    +------------------------------------------------------------------------+
    You have 10 options for your DataBase install.
    1: Install MySQL 5.1.73
    2: Install MySQL 5.5.60 (Default)
    3: Install MySQL 5.6.40
    4: Install MySQL 5.7.22
    5: Install MySQL 8.0.11
    6: Install MariaDB 5.5.60
    7: Install MariaDB 10.0.35
    8: Install MariaDB 10.1.33
    9: Install MariaDB 10.2.14
    0: DO NOT Install MySQL/MariaDB
    Enter your choice (1, 2, 3, 4, 5, 6, 7, 8, 9 or 0): #选择mysql版本 默认为5.5.60
    No input,You will install MySQL 5.5.60
    ===========================
    Please setup root password of MySQL.
    Please enter: maizim.com #输入mysql的密码
    ===========================
    Do you want to enable or disable the InnoDB Storage Engine?
    Default enable,Enter your choice [Y/n]: n #是否安装InnoDB环境 默认不需要 whmcs之类特殊程序需求
    You will disable the InnoDB Storage Engine!
    ===========================
    You have 8 options for your PHP install.
    1: Install PHP 5.2.17
    2: Install PHP 5.3.29
    3: Install PHP 5.4.45
    4: Install PHP 5.5.38
    5: Install PHP 5.6.36 (Default)
    6: Install PHP 7.0.30
    7: Install PHP 7.1.18
    8: Install PHP 7.2.6
    Enter your choice (1, 2, 3, 4, 5, 6, 7 or 8): 8 #默认php版本 这里选择最新
    You will install PHP 7.2.6
    ===========================
    You have 3 options for your Memory Allocator install.
    1: Don't install Memory Allocator. (Default)
    2: Install Jemalloc
    3: Install TCMalloc
    Enter your choice (1, 2 or 3): 1 这个默认选择不安装即可
    You will install not install Memory Allocator.

按任意键,设置完成,正式进入安装,预计20-40分钟完成

二、安装完成

如果显示Nginx: OK,MySQL: OK,PHP: OK
lnmp1.5.png
并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间及Install lnmp V1.5 completed! enjoy it.的话,说明已经安装成功。

三、常见lnmp管理命令:

1.2版本以后,不需要再执行/root/lnmp了,可以在任意位置执行lnmp命令
lnmp #会出现一些提示信息
lnmp restart #重启
lnmp vhost add #添加网站绑定
lnmp database add #添加数据库信息

四,域名绑定:
lnmp vhost add #执行lnmp添加网站命令
+-------------------------------------------+
|    Manager for LNMP, Written by Licess    |
+-------------------------------------------+
Please enter domain(example: www.lnmp.org): maizim.com #输入绑定的主域名
======================================
 Your domain: maizim.com
======================================
Do you want to add more domain name? (y/n) y #是否绑定其它域名
Enter domain name(example: lnmp.org *.lnmp.org): www.maizim.com #输入其它域名
domain list: www.maizim.com
Please enter the directory for the domain: maizim.com
(Default directory: /data/webroot/maizim.com): #默认创建的网站文件所在目录
Virtual Host Directory: /data/webroot/maizim.com
===========================
Allow Rewrite rule? (y/n)
===========================
y #是否添加伪静态文件
Please enter the rewrite of programme: 
wordpress,discuz,typecho,sablog,dabr rewrite was exist.
(Default rewrite: other):typecho #添加typecho程序,根据自己的设定
===========================
You choose rewrite=typecho
===========================
===========================
Allow access_log? (y/n)
===========================
n #是否启用日志文件
======================================================
Create database and MySQL user with same name (y/n)
======================================================
y #是否创建mysql数据库
verify your current MySQL root password: **** #输入安装时的mysql数据库root密码
Warning: Using a password on the command line interface can be insecure.
MySQL root password correct.
Enter database name: maizim_user #创建数据库用户名
Your will create a database and MySQL user with same name: maizim_user
Please enter password for mysql user maizim_user: maizimpasswd
Your password: maizimpasswd #创建相应密码

Press any key to start create virtul host...

Create Virtul Host directory......
set permissions of Virtual Host directory......
You select the exist rewrite rule:/usr/local/nginx/conf/typecho.conf
Gracefully shutting down php-fpm . done
Starting php-fpm  done
Test Nginx configure file......
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

Restart Nginx......
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
User maizim_user create Sucessfully.
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
Database: maizim_user create Sucessfully.
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
GRANT ALL PRIVILEGES ON maizim_user Sucessfully.
Warning: Using a password on the command line interface can be insecure.
FLUSH PRIVILEGES Sucessfully.
================================================
Virtualhost infomation:
Your domain: maizim.com
Home Directory: /data/webroot/maizim.com
Rewrite: typecho
Enable log: no
Database username: maizim_user
Database userpassword: maizimpasswd
Database Name: maizim_user
Create ftp account: no

================================================

五、自定义伪静态规则

如果你要自行定义伪静态规则,可以新建一个conf文件,放置于 /usr/local/nginx/conf 下,在域名配置文件,即:/usr/local/nginx/conf/vhost/maizim.com.conf 里引用。

server
  {
    listen       80;
    server_name maizim.com www.maizim.com; #绑定的域名
    index index.html index.htm index.php default.html default.htm default.php; #首页文件
    root  /home/legcloud.com; #网站存放目录
    include wordpress.conf; #伪静态规则文件,可自定义成你需要的
    location ~ .*\.(php|php5)?$
      {
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        include fcgi.conf;
      }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
      {
        expires      30d;
      }
    location ~ .*\.(js|css)?$
      {
        expires      12h;
      }
    access_log off;
  }

修改设置以后,重新载入nginx,或者重新载入lnmp,效果是一样的:

只重新载入nginx配置

/etc/init.d/nginx reload 

或者lnmp整个重新载入配置

/root/lnmp reload 

六、自定义404、503等常见错误
</blockquote>

不管是404还是503等常见错误,还是设置/usr/local/nginx/conf/vhost/maizim.com.conf文件来完成:

   listen       80;
    server_name maizim.com www.maizim.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /data/webroot/maizim.com;
    error_page 404 /404.php; #放在这里,可自定义文件名,再重载nginx就可以了
    include typecho.conf;
七、判断当前域名并自动301到主域名
if ($host != 'maizim.com' ) {rewrite ^/(.*)$ http://www.maizim.com/$1 permanent;}
八、关闭或开启FSO等php函数

lnmp最新版,默认禁用了一些函数,例如fso等,可修改/usr/local/php/etc/php.ini
disable_functions = passthru,exec,system,chroot,scandir....
这是禁用函数,把不想禁用的删除即, 如果自用主机,最简单的修改方案:
disable_functions =
; passthru,exec,system,chroot,scandir....

设置为全部开启
修改后,使用/etc/init.d/php-fpm restart,重新启动php

九、升级PHP和NGINX版本

升级nginx,只要输入你要升级的版本即可(可见nginx.org)
cd lnm0.9 #进入lnmp安装目录
./upgrade_nginx.sh
升级php,只要输入你要升级的版本即可(可见php.net)
./upgrade_php.sh


Leave a Comment