继著名的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阿里云节点,这样速度会更快一些)
1
2
3
4
5
6
7
8
9
|
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一键安装包支持以下组合自由安装:
1
2
3
4
5
|
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的教程)。
1
|
cd /usr/local/srcwget https: //nginx .org /download/nginx-1 .9.5. tar .gz |
3、 下载libressl(注:本博使用libressl的目的是支持ssl中使用的chacha20-poly1305流式加密算法,对于使用aes-gcm的站点,也可以使用该ssl库)。
1
|
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的目录结构类似这样(以反斜线与缩进显示结构):
1
|
usr\ local \ src\ libressl-2.3.0 nginx-1.9.5 |
5、 编译准备工作:
1
|
apt-get install libpcre3 libpcre3-dev zlib1g zlib1g-devgroupadd wwwuseradd www -g www |
6、开始编译nginx:
1
|
. /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、我所使用的编译参数说明如下:
1
|
--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完成,开始编译:
1
|
makemake install |
9、加入环境变量:
1
|
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,操作步骤和上面一样的,代码如下:
1
|
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源:
1
2
3
4
|
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:
1
|
pt-get install mariadb-client mariadb-server |
3、安装时会要求输入root密码以及重复密码,按照要求进行。如果需要修改root密码,使用:
1
|
/usr/bin/mysqladmin -u root -p 旧密码 新密码 |
四、编译安装php-7.0.0rc5
1、下载php-7.0.0rc5源码包:
1
2
3
|
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依赖包:
1
|
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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、添加环境变量:
1
2
3
4
5
|
vim /etc/environment #在path变量的最后加入: : /usr/local/php/bin #保存退出 source /etc/environment |
5、测试:php -v,输出php版本就表示安装成功了。
五、修改nginx、mariadb、php配置文件
1、修改nginx配置文件,建立虚拟主机配置文件夹:
1
|
mkdir /usr/local/nginx/conf/vhost |
2、编辑nginx.conf,引入所有虚拟主机配置:
1
2
3
4
5
6
7
|
vim /usr/local/nginx/conf/nginx .conf #在最后的}前一行加入 include vhost/*.conf; #文件头部 user www; work_process 1; #根据cpu核数设定 #保存退出 |
3、添加nginx服务,并测试nginx:
1
2
3
|
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服务器正在启动就表示成功了,最后执行以下代码开机启动:
1
|
update-rc.d –f nginx defaults |
5、修改mariadb配置文件,设置mariadb字符集:
1
|
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文件:
1
|
cd /usr/local/src/php-7 .0.0rc5cp php.ini-production /usr/local/php/etc/php .ini |
7、关闭display_errors:
1
|
vim /usr/local/php/etc/php .ini #定位到display_errors,设置:display_errors = off#保存退出 |
8、修改php-fpm配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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服务:
1
2
3
|
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:
1
|
service php-fpm start |
六、建立虚拟主机
1、由于建立虚拟主机是个比较麻烦的事儿,此处还是借用了oneinstack.com的虚拟主机脚本,使用如下命令即可使用oneinstack包的虚拟主机脚本:
1
2
3
4
|
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安装包的作者还有不少的实用工具,这里有一个自动搜索硬盘并挂载的代码:
1
2
3
|
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的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.freehao123.com/oneinstack-vps-lnmp/