继著名的LAMP Stack(Linux Apache MySQL/MariaDB PHP)网站环境之后,LNMP Stack(Linux Nginx MySQL/MariaDB PHP)以其负载小、静态文件处理能力强的优势,在Linux平台上开始流行,尤其是在配置不太高的VPS上应用广泛。
说起LNMP,多数人应该知道lnmp.org站长开发的LNMP一键安装包,该脚本虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件的安装、重置MySQL root密码、502自动重启等,在国内用户众多,且有官方论坛作为技术支持。
不过,LNMP一键安装包也并非只有lnmp.org一家,本篇文章就来分享一下Linux运维笔记下的一键PHP/JAVA/HHVM安装工具,Linux运维笔记lnmp、lamp、lnmpa一键安装包长年坚持更新,作者博客也有不少原创Linux技术文章和VPS脚本工具,看得出是一个“纯”程序猿。
OneinStack的一键LNMP安装包与lnmp.org站长开发的LNMP一键安装包最大的不同之处就是,多出了支持lnmt(Linux Nginx MySQL Tomcat):Nginx处理静态,Tomcat(JDK)处理JAVA和lnmh(Linux Nginx MySQL HHVM)。
OneinStack一键工具提供多个Tomcat版本(Tomcat-8,Tomcat-7) 和多个JDK版本(JDK-1.8,JDK-1.7,JDK-1.6),支持CentOS 6、7下HHVM安装。如果还有为无法成功配置好Java或者HHVM环境而烦恼的话,OneinStack就可以助你一臂之力。
当然,喜欢手工制作的LNMP,本篇文章就为大家分享一篇超详细的VPS手动安装LNMP的教程,给有折腾精神的朋友参考参考。
OneinStack一键PHP/JAVA/HHVM安装和超详细的VPS手动安装LNMP
一、OneinStack一键PHP/JAVA/HHVM安装
1、OneinStack官网:
官方网站:https://oneinstack.com/
2、OneinStack一键PHP/JAVA/HHVM安装代码如下:(阿里云用户可以选择OneinStack阿里云节点,这样速度会更快一些)
代码语言:javascript复制yum -y install wget screen curl python #for CentOS/Redhat
# apt-get -y install wget screen curl python #for Debian/Ubuntu
wget http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz #阿里云用户下载
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz #包含源码,国内外均可下载
wget http://mirrors.linuxeye.com/oneinstack.tar.gz #不包含源码,建议仅国外主机下载
tar xzf oneinstack-full.tar.gz
cd oneinstack #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
screen -S oneinstack #如果网路出现中断,可以执行命令`screen -r oneinstack`重新连接安装窗口
./install.sh #注:请勿sh install.sh或者bash install.sh这样执行
3、OneinStack一键安装包支持以下组合自由安装:
代码语言:javascript复制lnmp(Linux Nginx MySQL PHP)
lamp(Linux Apache MySQL PHP)
lnmpa(Linux Nginx MySQL PHP Apache):Nginx处理静态,Apache(mod_php)处理动态PHP
lnmt(Linux Nginx MySQL Tomcat):Nginx处理静态,Tomcat(JDK)处理JAVA
lnmh(Linux Nginx MySQL HHVM)
4、你安装时可以自己选择。(点击放大)
5、然后你可以根据你自己的需要来安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator。(点击放大)
6、还有php加解密工具ionCube、ZendGuardLoader ,和Memcached、Redis等。(点击放大)
7、OneinStack一键安装支持升级:./upgrade.sh,提供了Nginx、Tengine、Apache、PHP、MySQL、Redis等升级。(点击放大)
Ubuntu14.04LTS上的Nginx-1.9.5 MariaDB-10.1 PHP-7.0.0RC5网站环境搭建教程
二、编译安装Nginx-1.9.5
1、上面是LNMP一键安装方法,接下来就是关于在Ubuntu-14.04 LTS系统上手动搭建LNMP环境的教程。之所以选择手动搭建环境,无非是为了装逼(大雾)从手动搭建中积累搭建环境的经验,并且享受到一定的乐趣。如果您对这方面感兴趣,又有足够的闲暇时间,不妨一试。
2、首先,到nginx官方下载nginx源码(注:由于本博安装nginx-1.9.5的原因是为了支持HTTP/2协议,所以对于部分不需要SSL的网站,会在本段后给出一个1.8.0的教程)。
代码语言:javascript复制cd /usr/local/srcwget https://nginx.org/download/nginx-1.9.5.tar.gz
3、 下载LibreSSL(注:本博使用LibreSSL的目的是支持SSL中使用的ChaCha20-Poly1305流式加密算法,对于使用AES-GCM的站点,也可以使用该SSL库)。
代码语言:javascript复制cd /usr/local/srcwget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.3.0.tar.gztar xzf libressl-2.3.0.tar.gz
4、现在,/usr/local/src的目录结构类似这样(以反斜线与缩进显示结构):
代码语言:javascript复制usr local src libressl-2.3.0 nginx-1.9.5
5、 编译准备工作:
代码语言:javascript复制apt-get install libpcre3 libpcre3-dev zlib1g zlib1g-devgroupadd wwwuseradd www -g www
6、开始编译nginx:
代码语言:javascript复制./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_v2_module --with-openssl=../libressl-2.3.0
7、我所使用的编译参数说明如下:
代码语言:javascript复制--user=www #指定nginx运行用户--group=www #指定nginx运行用户组--prefix=/usr/local/nginx #指定nginx安装路径,不用修改--with-http_stub_status_module #开启状态监控模块--with-http_ssl_module #开启SSL--with-http_gzip_static_module #开启Gzip--with-ipv6 #开启ipv6,无v6可去掉--with-http_v2_module #开启HTTP/2--with-openssl=../libressl-2.3.0 #指定openssl路径
8、建立Makefile完成,开始编译:
代码语言:javascript复制makemake install
9、加入环境变量:
代码语言:javascript复制vim /etc/environment#vim操作请自行Google#在PATH变量的最后加入:/usr/local/nginx/sbin#完成后类似于PATH="/.../:/.../:......:/usr/local/nginx/sbin"#保存退出source /etc/environment
10、输入:nginx -v ,显示 nginx 的版本就说明安装成功了。
11、 如果不想安装nginx-1.9.5的话,可以参加此方法安装nginx-1.8.0,操作步骤和上面一样的,代码如下:
代码语言:javascript复制cd /usr/local/srcwget https://nginx.org/download/nginx-1.8.0.tar.gzcd /usr/local/src wget https://www.openssl.org/source/openssl-1.0.2d.tar.gz tar zxvf openssl-1.0.2d.tar.gz cd openssl-1.0.2d ./configmakeldconfigapt-get install libpcre3 libpcre3-dev zlib1g zlib1g-devgroupadd wwwuseradd www -g www./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_v2_module --with-openssl=/usr/local/src/openssl-1.0.2dmakemake installvim /etc/environment#vim操作请自行Google#在PATH变量的最后加入:/usr/local/nginx/sbin#完成后类似于PATH="/.../:/.../:......:/usr/local/nginx/sbin"#保存退出source /etc/environmentnginx -v
三、apt-get快速安装MariaDB-10.1
1、添加MariaDB官方apt源:
代码语言:javascript复制sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb https://mariadb.nethub.com.hk//repo/10.1/ubuntu trusty main'
#我的VPS是香港softlayer数据中心 vps.to的VPS,因此,本处添加了HK的apt源,您可以在这里找到更#多的源:https://downloads.mariadb.org/mariadb/repositories
2、apt-get安装MariaDB:
代码语言:javascript复制pt-get install mariadb-client mariadb-server
3、安装时会要求输入root密码以及重复密码,按照要求进行。如果需要修改root密码,使用:
代码语言:javascript复制/usr/bin/mysqladmin -u root -p 旧密码 新密码
四、编译安装PHP-7.0.0RC5
1、下载PHP-7.0.0RC5源码包:
代码语言:javascript复制cd /usr/local/src
wget https://downloads.php.net/~ab/php-7.0.0RC5.tar.gz
tar xzf php-7.0.0RC5.tar.gz
2、安装PHP依赖包:
代码语言:javascript复制sudo apt-get install libxml2-dev libpcre3-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libxpm-dev libfreetype6-dev libmysqlclient-dev libt1-dev libgd2-xpm-dev libgmp-dev libsasl2-dev libmhash-dev unixodbc-dev freetds-dev libpspell-dev libsnmp-dev libtidy-dev libxslt1-dev libmcrypt-dev
3、编译PHP:
代码语言:javascript复制cd /usr/local/src/php-7.0.0RC5
./configure --prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--with-fpm-user=www --with-fpm-group=www
--enable-fpm
--disable-fileinfo
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-iconv-dir=/usr/local
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-libxml-dir=/usr
--enable-xml
--disable-rpath
--enable-bcmath
--enable-shmop
--enable-exif
--enable-sysvsem
--enable-inline-optimization
--with-curl
--enable-mbregex
--enable-inline-optimization
--enable-mbstring
--with-mcrypt
--with-gd
--enable-gd-native-ttf
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-xmlrpc
--enable-ftp
--with-gettext
--enable-zip
--enable-soap
--disable-debug
make #时间可能较长,我的vps.to VPS花费大约十五分钟
make install
4、添加环境变量:
代码语言:javascript复制vim /etc/environment
#在PATH变量的最后加入:
:/usr/local/php/bin
#保存退出
source /etc/environment
5、测试:php -v,输出PHP版本就表示安装成功了。
五、修改nginx、MariaDB、PHP配置文件
1、修改nginx配置文件,建立虚拟主机配置文件夹:
代码语言:javascript复制mkdir /usr/local/nginx/conf/vhost
2、编辑nginx.conf,引入所有虚拟主机配置:
代码语言:javascript复制vim /usr/local/nginx/conf/nginx.conf
#在最后的}前一行加入
include vhost/*.conf;
#文件头部
user www;
work_process 1;#根据CPU核数设定
#保存退出
3、添加nginx服务,并测试nginx:
代码语言:javascript复制wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
chmod x /etc/init.d/nginx
service nginx start
4、如果出现Nginx服务器正在启动就表示成功了,最后执行以下代码开机启动:
代码语言:javascript复制update-rc.d –f nginx defaults
5、修改MariaDB配置文件,设置MariaDB字符集:
代码语言:javascript复制cd /etc/my.cnf.d vim server.cnf #在[mysqld]段下加入character-set-server=utf8 #在[server]段上方输入[client]default-character-set=utf8 #保存退出service mysql restart
6、修改PHP配置文件,复制默认php.ini文件:
代码语言:javascript复制cd /usr/local/src/php-7.0.0RC5cp php.ini-production /usr/local/php/etc/php.ini
7、关闭display_errors:
代码语言:javascript复制vim /usr/local/php/etc/php.ini#定位到display_errors,设置:display_errors = Off#保存退出
8、修改php-fpm配置:
代码语言:javascript复制cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf #如果没有则建立该文件
cd php-fpm.d
cp www.conf.default www.conf
vim www.conf
#修改如下项目:
user = www
group = www
listen = /dev/shm/php-cgi.sock
listen.owner = www
listen.group = www
listen.mode = 0660
#保存退出
9、建立PHP服务:
代码语言:javascript复制cp /usr/local/src/php-7.0.0RC5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod x /etc/init.d/php-fpm
update-rc.d -f php-fpm defaults
10、启动php:
代码语言:javascript复制service php-fpm start
六、建立虚拟主机
1、由于建立虚拟主机是个比较麻烦的事儿,此处还是借用了oneinstack.com的虚拟主机脚本,使用如下命令即可使用oneinstack包的虚拟主机脚本:
代码语言:javascript复制wget https://mirrors.linuxeye.com/oneinstack.tar.gz
tar xzf oneinstack.tar.gz
cd oneinstack
./vhost.sh
2、按提示进行即可建立虚拟主机。(点击放大)
3、将域名解析到VPS上,进入对应虚拟主机目录,编辑如下PHP文件,或者上传一个PHP探针,然后就能查看到LNMP成功了:
七、VPS手动安装LNMP小结
1、其实,VPS手动安装LNMP还是挺麻烦的,当然它的可定制性也是非常高,对于不想使用LNMP一键安装包的朋友来说,自己手动可以编译最新版本的Nginx、MysqL、PHP等,能够最先体验到新版的性能提升。
2、OneinStack一键PHP/JAVA/HHVM安装包的作者还有不少的实用工具,这里有一个自动搜索硬盘并挂载的代码:
代码语言:javascript复制wget https://mirrors.linuxeye.com/scripts/auto_fdisk.sh
chmod x ./auto_fdisk.sh
./auto_fdisk.sh
3、看到如下图就表示已经自动挂载成功了,该方法在阿里云VPS上测试通过,其它的VPS主机都是可以用的。
总结
以上所述是小编给大家介绍的OneinStack一键安装PHP/JAVA/HHVM和超详细的VPS手动安装LNMP的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持!