win平台使用vagrant搭建lnmp环境

作者:Matrix 发布时间:2017年8月30日星期三 分类:

win10上面安装的phpStudy这些天有时候打不开网页 502,请求一直loading,就算是代码问题我也扶不住,安装个Redis,mongodb都超级麻烦,并且好多都模拟Linux做的东西,最终写出来的代码都要发布到linux的生产环境,倒不如就搞个服务器的克隆环境,有虚拟机+vagrant 简直是巴适。它可以实现文件的共享 从而方便宿主机到虚拟机的文件同步,也就是win上编代码,虚拟机测试运行,中间无需自行拷贝代码文件到虚拟环境。
PHP一键开发环境到目前用过phpnow phpstudy xampp,前两者仅限win平台,xampp可以跨win和mac平台。网上很多都推荐用vagrant搭建开发环境,可以完全模拟服务器环境,多平台支持 今天试试水。

安装VirtualBox虚拟机

官网:https://www.virtualbox.org/wiki/Downloads

安装vagrant

官网:https://www.vagrantup.com/downloads.html

挂载vagrant的box镜像文件

win下cmd命令进入你需要共享到虚拟环境的文件夹根目录 如:~/dev
阅读剩余部分 »

lnmp1.3中配置Nginx启用HTTP/2.0 + ALPN

作者:Matrix 发布时间:2017年4月17日星期一 分类:

http2.0早就开始实行了,忽然间才看到其实很多网站都有使用了http2.0协议,aliyun.com都有了,其他巨头是在打瞌睡吗?
图片3654-Lnmp1.3中配置nginx启用http2.0
图中显示的Request完全和http1.1的请求完全不同 这,就是高科技!

要求

若想使用http2.0,浏览器和服务器端也都有要求。浏览器用最新版Chrome或其他,服务器端网站配置就麻烦多了。
服务器端OpenSSL库的版本要支持ALPN(1.0.2+ 目前最新为1.1.0e),之前是用SPDY,NPN,后来google只支持ALPN,也就是说未来就是HTTP/2 + ALPN
为什么我们应该尽快支持 ALPN?
需要给网站域名配置证书
nginx版本需要1.9.5+(目前最新版本1.12.0)
若你的服务器openssl或nginx本来就达不到要求,建议都重新安装升级才对。之前只是把openssl升级到最新版本,且Lnmp1.3中的nginx是1.10的版本完全符合要求(其中也有必须的httpv2和ssl模块)就没有给nginx做升级操作,以为可以用http2.0 结果给vhost的conf文件添加了listen 443 ssl http2;重启nginx N次都没有任何反应,最后还是更新nginx才解决。就是因为之前安装nginx的时候openssl没有达到版本要求,就算升级了服务器openssl也没有卵用。

> openssl version  #查看openssl 版本
> nginx -V #查看nginx版本以及模块

服务器配置

环境 ubuntu 14 64bit  
LNMP 1.3 NGINX 1.10

升级openSSL库

>openssl version -a #查看openssl 信息 用于升级
>cd #进入默认目录
>wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz
>tar -zxvf ./openssl-1.1.0e.tar.gz
>cd openssl-1.1.0e/
>./config --prefix=/usr/lib/ssl --openssldir=/usr/lib/ssl 
#注意--prefix=/usr/lib/ssl为之前openSSL的安装目录,--openssldir表示安装目录 默认值就为/usr/lib/ssl
>make && make install
>mv /usr/bin/openssl /usr/bin/openssl-old
>mv /usr/include/openssl /usr/include/openssl-old
>ln -s /usr/lib/ssl/bin/openssl /usr/bin/openssl
>ln -s  /usr/lib/ssl/include/openssl /usr/include/openssl  
>echo "/usr/lib/ssl/lib">>/etc/ld.so.conf
>ldconfig 
#现在看看版本号就是最新的了

参考:https://www.douban.com/note/563948878/

若升级openssl导致ss服务无法使用参考:

更新OpenSSL库至最新版本导致sss服务无法启动

配置证书

不详细说明,之前有方法安装Let’s Encrypt证书

安装&升级nginx

最新版本1.12.0
本来是使用lnmp安装目录中自带的upgrade.sh进行自动升级操作,后来发现有问题,升级时出现openssl library not found,不过就算是自动升级也不敢保证LNMP编译nginx的时候是否使用的最新版本openssl库,还是手动升级操作。

>wget -O nginx-ct.zip -c https://github.com/grahamedgecombe/nginx-ct/archive/v1.3.2.zip
>unzip nginx-ct.zip
>cd lnmp nginx-1.12.0
>./configure --add-module=../ngx_brotli --add-module=../nginx-ct-1.3.2 --with-openssl=../openssl-1.1.0e --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module
#这里http_v2_module,http_ssl_module,with-openssl才是必须要配置的,其他module看个人实际安装情况
>cd /usr/local/nginx/sbin  
>cp nginx nginx.old  #备份旧版nginx
>cd ~/nginx-1.12.0
>make upgrade #升级操作

修改vhost中域名配置文件

文件位置:/usr/local/nginx/conf/vhost
修改对应域名的配置文件,在server段中添加listen 443 ssl http2;就可以了
参考 hhtjim.com:

server
    {
        listen 80;
    listen 443 ssl http2;
        #listen [::]:80;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/hhtjim.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/hhtjim.com/privkey.pem;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; #加密算法(CloudFlare 推荐的加密套件组) 
    ssl_prefer_server_ciphers on; #优化 SSL 加密套件 
    ssl_session_timeout 10m; #客户端会话缓存时间 
    ssl_session_cache builtin:1000 shared:SSL:10m; #SSL 会话缓存类型和大小 
    ssl_buffer_size 1400;
    add_header X-UA-Compatible "IE=edge,chrome=1"; #IE 用最新内核渲染页面 

    server_name hhtjim.com www.hhtjim.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/hhtjim.com;

        include other.conf;
        #error_page   404   /404.html;
        include enable-php.conf;
        include wordpress.conf;

        if ($http_host !~ "^www.hhtjim.com$"){
                rewrite  ^(.*)    https://www.hhtjim.com$1 permanent;
            }
        if ($scheme = "http"){ 
            rewrite ^(.*)$  https://$host$1 permanent;  
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/hhtjim.com.log;
    }


重启nginx

>lnmp nginx restart

之后再访问就可以看到使用http2.0协议了

FAQ

若安装失败,请参照 nginx 配置之完整篇

参考:
https://imququ.com/post/my-nginx-conf.html
http://www.cnblogs.com/shiv/p/5271711.html
http://www.jb51.net/article/47755.htm

mysql 启动失败

作者:Matrix 发布时间:2017年2月11日星期六 分类: 零零星星

重启系统发现mysql启动失败。
环境为 ubuntu Lnmp

Starting MySQL
. * The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

/var/run/mysqld/ 目录中没有pid文件

找到网上说的文件权限、磁盘已满,这些都不符合情况。

解决

删除文件my.cnf
> rm /etc/mysql/my.cnf

启动mysql

lnmp mysql start

最后启动成功就ok
peace

参考:

[分享]MySQL启动报错 The server quit without updating PID file (/var/run/mysqld/mysqld.pid) 解决


https://bbs.vpser.net/viewthread.php?tid=13217

lnmp 1.3 安装 typecho 404错误

作者:Matrix 发布时间:2017年1月2日星期一 分类:零零星星

修改对应域名的nginx配置文件
vi /usr/local/nginx/conf/vhost/域名

重新配置nginx的配置文件

server
    {
    。。。。。。
        <strong>include typecho.conf;
        include enable-php-pathinfo.conf;</strong>
 。。。。。。
   }

参考:https://bbs.vpser.net/thread-13341-1-1.html

Elementary OS安装PHP测试环境 lnmp一键安装包

作者:Matrix 发布时间:2016年12月30日星期五 分类:零零星星

安装环境

2016-12-2202

按照ubuntu正常安装的时候却报错:
Lnmp Unable to get linux distribution name, or do NOT support the current di

原因是因为 /etc/issue 中记录的是linux发行版本:elementary OS Loki
lnmp脚本无法识别出为ubuntu的系统内核

修改main.sh文件

文件路径:/lnmp1.3/include/main.sh
搜索关键字Get_Dist_Name()查找该方法替换为一下内容:

Get_Dist_Name()
{
    if grep -Eqi "CentOS" /etc/issue || grep -Eq "CentOS" /etc/*-release; then
        DISTRO='CentOS'
        PM='yum'
    elif grep -Eqi "Red Hat Enterprise Linux Server" /etc/issue || grep -Eq "Red Hat Enterprise Linux Server" /etc/*-release; then
        DISTRO='RHEL'
        PM='yum'
    elif grep -Eqi "Aliyun" /etc/issue || grep -Eq "Aliyun" /etc/*-release; then
        DISTRO='Aliyun'
        PM='yum'
    elif grep -Eqi "Fedora" /etc/issue || grep -Eq "Fedora" /etc/*-release; then
        DISTRO='Fedora'
        PM='yum'
    elif grep -Eqi "Debian" /etc/issue || grep -Eq "Debian" /etc/*-release; then
        DISTRO='Debian'
        PM='apt'
    elif grep -Eqi "Ubuntu" /etc/issue || grep -Eq "Ubuntu" /etc/*-release; then
        DISTRO='Ubuntu'
        PM='apt'
    elif grep -Eqi "Raspbian" /etc/issue || grep -Eq "Raspbian" /etc/*-release; then
        DISTRO='Raspbian'
        PM='apt'
    elif grep -Eqi "Deepin" /etc/issue || grep -Eq "Deepin" /etc/*-release; then
        DISTRO='Deepin'
        PM='apt'
    else
        DISTRO='Ubuntu'
        PM='apt'
    fi
    Get_OS_Bit
}

或者下载main.sh覆盖:http://pan.baidu.com/s/1hsyVSw8
然后再执行install.sh脚本安装就可以了

%e5%b1%8f%e5%b9%95%e6%88%aa%e5%9b%be-2016-12-22

电信云平台安装VPS管理系统-WdManager

作者:Matrix 发布时间:2013年8月4日星期日 分类:兼容并蓄

之前的云平台装过Lnmp一键安装包,用Lnmp搭建的服务器环境没有虚拟主机控制面板操作起来有些麻烦。

而WdManager就把这些我需要的东东综合在了一起,当然比lnmp更吃vps的配置,这才有的折腾。

安装前需要卸载lnmp。

1.停用以前安装过的相关服务:

service httpd stop
service mysqld stop

2.源码包编译方式安装:

wget http://dl.wdlinux.cn:5180/lanmp.tar.gz
tar zxvf lanmp.tar.gz
sh lanmp.sh

源码包编译方式安装:

3.选择选项后就开始安装了

.选择选项后就开始安装了

4.安装完成 差不多用了半个小时。

安装完成 差不多用了半个小时

 

安装完后,用浏览器打开:http://ip ,会显示默认页面信息,探针,phpinfo信息

管理后台是http://ip:8080,默认用户密码:admin wdlinux.cn

由于电信云平台封了8080和80端口只有修改了才能进后台

2.X版本修改默认后台端口:

用WinSCP登录编辑文件 /www/wdlinux/wdapache/conf/httpd.conf
搜索 8080 找到
Listen 8080
<VirtualHost *:8080>
将8080修改成自己的端口8888并保存

注意:<VirtualHost *:8080>这里的8080也需要修改 否则也不能进后台 会有提示页面

将8080修改成自己的端口8888并保存
PuTTY输入命令添加防火墙规则:
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
保存设置命令:
service iptables save
再应用防火墙规则

service wdapache restart

若没用shutdown -r now 重启服务器

参考:http://www.wdlinux.cn/bbs/thread-928-1-1.html

之后就~

对了,还需要添加web服务端口:7979 再添加防火墙规则

还需要添加web服务端口:7979 再添加防火墙规则

还需要添加web服务端口:7979 再添加防火墙规则

再添加一个网站应用

添加一个网站应用

然后打开7979端就有了曾经的页面~

恭喜,Lnmp安装成功

vps管理系统-WdManager

扔个没用的探针:http://101.227.251.68:7979/iProber2.php

9-19

ps:出于某些方面考虑还可以修改wdcp默认的用户名Admin:

打开http:/IP:端口/phpmyadmin

默认情况下是8080端,也就是wdcp管理面板使用的端口。

默认用户名:RООт

输入密码后登陆phpmyadmin

找到wdcp的数据库,查看 wd_member表,ok 任意修改用户名admin

wdcp的数据库

中国电信开放平台VPS安装Lnmp控制面板-AMH

作者:Matrix 发布时间:2013年8月3日星期六 分类:兼容并蓄

AMH官网:http://amysql.com

AMH官网:http://amysql.com

Lnmp自带的功能管理ftp、mysql都有些麻烦。需要ssh命令,so安装个管理面板来玩玩

AMH4.0 安装 执行命令:

wget http://amysql.com/file/AMH/4.0/amh.sh; chmod 775 amh.sh; ./amh.sh 2>&1 | tee amh.log;

出现3个选项

1为安装amh,2为卸载amh,3为退出

出现3个选项  1为安装amh,2为卸载amh,3为退出

选择安装之后会提示输入管理和数据库密码。3分钟看似就安装完成

选择安装之后会提示输入管理和数据库密码。3分钟看似就安装完成

我X   安装失败!

还以为重启AMH有用:/etc/init.d/amh-start

  安装失败!

Lnmp都关掉了。都说内存小才会安装失败的,我这RP啊~ 这主要还是TMD电信服务器 xen 欸。

重启LNMP:/root/lnmp restart

还不行就试着防火墙再重启LNMP:service iptables stop

WinSCP进入/ROOT  没看见AMH目录  又跟没发生过一样。

小结:AMH安装AMH失败!