一、LNMP的安装 ##先要下载,并根据不同系统进行安装:wget -c http://soft.vpser.net/lnmp/lnmp1.3.tar.gztar zxvf lnmp1.3.tar.g
一、LNMP的安装
##先要下载,并根据不同系统进行安装:wget -c http://soft.vpser.net/lnmp/lnmp1.3.tar.gztar zxvf lnmp1.3.tar.gzcd lnmp1.3./install.sh #开始进行安装操作
以上为下载及进入安装过程,以下为安装前简易设置,切记输入个其它域名及牢记mysql密码:
+------------------------------------------------------------------------+| LNMP V1.2 for Ubuntu Linux Server, Written by Licess |+------------------------------------------------------------------------+| A tool to auto-compile & install LNMP/LNMPA/LAMP on Linux |+------------------------------------------------------------------------+| For more information please visit http://www.lnmp.org |+------------------------------------------------------------------------+Please setup root password of MySQL.(Default password: root)Please enter: vpsmm.com #输入mysql的root密码MySQL root password: vpsmm.com===========================Do you want to enable or disable the InnoDB Storage Engine?Default enable,Enter your choice [Y/n]: n #是否安装InnoDBYou will disable the InnoDB Storage Engine!===========================You have 5 options for your DataBase install.1: Install MySQL 5.1.732: Install MySQL 5.5.42 (Default)3: Install MySQL 5.6.234: Install MariaDB 5.5.425: Install MariaDB 10.0.17Enter your choice (1, 2, 3, 4 or 5): 3 #选择mysql版本You will Install MySQL 5.6.23===========================You have 5 options for your PHP install.1: Install PHP 5.2.172: Install PHP 5.3.293: Install PHP 5.4.41 (Default)4: Install PHP 5.5.255: Install PHP 5.6.9Enter your choice (1, 2, 3, 4 or 5): 5 #选择php版本You will install PHP 5.6.9===========================You have 3 options for your Memory Allocator install.1: Don't install Memory Allocator. (Default)2: Install Jemalloc3: Install TCMallocEnter your choice (1, 2 or 3): 1 #小夜用不上,所以选择1You will install not install Memory Allocator.#按任意键,设置完成,正式进入安装,预计20-40分钟完成
常见lnmp管理命令:
#1.2版本以后,不需要再执行/root/lnmp了,可以在任意位置执行lnmp命令lnmp #会出现一些提示信息lnmp restart #重启lnmp vhost add #添加网站绑定lnmp database add #添加数据库信息
二,域名绑定详解
其实所谓的域名绑定,就是通过命令的形式,简易创建一个conf文件到/usr/local/nginx/conf/vhost下面,这个过程完全可以手工创建conf,或者,平时修改目录、域名等,直接修改conf文件,效果完全一样:
lnmp vhost add #执行lnmp添加网站命令+-------------------------------------------+| Manager for LNMP, Written by Licess |+-------------------------------------------+Please enter domain(example: www.lnmp.org): vpsmm.com #输入绑定的主域名====================================== Your domain: vpsmm.com======================================Do you want to add more domain name? (y/n) y #是否绑定其它域名Enter domain name(example: lnmp.org *.lnmp.org): www.vpsmm.com #输入其它域名domain list: www.vpsmm.comPlease enter the directory for the domain: vpsmm.com(Default directory: /home/wwwroot/vpsmm.com): #默认创建的网站文件所在目录Virtual Host Directory: /home/wwwroot/vpsmm.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: vpsmm_user #创建数据库用户名Your will create a database and MySQL user with same name: vpsmm_userPlease enter password for mysql user vpsmm_user: vpsmmpasswdYour password: vpsmmpasswd #创建相应密码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.confGracefully shutting down php-fpm . doneStarting php-fpm doneTest Nginx configure file......nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successfulRestart 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 vpsmm_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: vpsmm_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 vpsmm_user Sucessfully.Warning: Using a password on the command line interface can be insecure.FLUSH PRIVILEGES Sucessfully.================================================Virtualhost infomation:Your domain: vpsmm.comHome Directory: /home/wwwroot/vpsmm.comRewrite: typechoEnable log: noDatabase username: vpsmm_userDatabase userpassword: vpsmmpasswdDatabase Name: vpsmm_userCreate ftp account: no#以上为新创建网站的一些信息================================================
三、自定义伪静态规则
如果lnmp默认的伪静态规则不能满足你的需要,或者,你要自行定义伪静态规则,可以新建一个conf文件,放置于 /usr/local/nginx/conf 下,在域名配置文件,即:/usr/local/nginx/conf/vhost/legcloud.com.conf 里引用。
server { listen 80; server_name legcloud.com www.legcloud.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; }
修改设置以后,一定要重新载入lnmp或者,重新载入nginx,以下任决命令都一样:
/root/lnmp reload #使用lnmp重新载入配置/etc/init.d/nginx reload #只重新载入nginx配置,我一般用这个
四、自定义404、503等常见错误
不管是404还是503等常见错误,还是设置/usr/local/nginx/conf/vhost/legcloud.com.conf文件来完成:
listen 80; server_name legcloud.com www.legcloud.com; index index.html index.htm index.php default.html default.htm default.php; root /home/legcloud.com; error_page 404 /404.php; #放在这里,可自定义文件名,再重载nginx就可以了 include wordpress.conf;
五、判断当前域名并自动301到主域名
if ($host != 'vpsmm.com' ) {rewrite ^/(.*)$ http://www.vpsmm.com/$1 permanent;}#判断当前域名,如果不是则自动301到主域名,放置于error_page ...;上下均可。
六、关闭或开启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版本
cd lnm0.9 #进入lnmp安装目录./upgrade_nginx.sh #升级nginx,只要输入你要升级的版本即可(可见nginx.org)./upgrade_php.sh #升级php,只要输入你要升级的版本即可(可见php.net)