之前在虚拟机上部署了lamp的环境,很是顺利,但后来发现,Apache的使用不如nginx的使用率高,公司也是在使用nginx,之前也没怎么接触过nginx,于是想自己在搭建一下lnmp的开发环境!

        nginx、mysql、php7逐一安装了一下,每个都成功了,但就是php运行不起来,之后,查找了资料,才发现有php-fpm这么个东西,网上百度了一大骗,还是失败,无意中发现了,网上有一套很不错的lnmp的集成环境,安装和使用文档也很详细,网址为:http://lnmp.org/ ,大家可以根据文档,下载安装,下面重点说一下nginx的配置!

        这是集成环境的安装目录和配置文件的具体位置:

LNMP相关软件安装目录
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
MariaDB 目录 : /usr/local/mariadb/
MariaDB数据库所在目录:/usr/local/mariadb/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版本为/home/wwwroot/phpmyadmin/ 1.0及以后版本为 
/home/wwwroot/default/phpmyadmin/ 
强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 :  0.9版本为 /home/wwwroot/ 1.0及以后版本为 /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
PureFtpd 目录:/usr/local/pureftpd/
PureFtpd web管理目录: 0.9版为/home/wwwroot/default/ftp/ 1.0版为 /home/wwwroot/default/ftp/
Proftpd 目录:/usr/local/proftpd/
Redis 目录:/usr/local/redis/

LNMP相关配置文件位置
Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
Proftpd配置文件:/usr/local/proftpd/etc/proftpd.conf 1.2及之前版本为/usr/local/proftpd/proftpd.conf
Proftpd 用户配置文件:/usr/local/proftpd/etc/vhost/用户名.conf
Redis 配置文件:/usr/local/redis/etc/redis.conf

安装成功后,默认的是读取的

/usr/local/nginx/nginx.conf

文件中的配置

server
    {
        listen 80 default_server;
        server_name hp.abc.com;  //域名设置
        index index.html index.htm index.php;
        root  /home/wwwroot/phptool/trunk;  //web目录的根目录所在位置

        #error_page   404   /404.html;
        include enable-php.conf;   //这里有关于php的设置,得以让php运行

        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

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

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

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/hp.log;
    }
        include vhost/*; //这里可是设置多域名,将vhost内的文件引入即可
}

上面这部分的代码是核心代码,在单一域名下,可以不用管conf目录下vhost的配置,每修改一次nginx.conf ,都要重启一次nginx才可生效,重启命令:

service nginx restart

如果要设置多个域名,可以在conf/vhost 下面添加虚拟域名的配置文件,例如,使用phpmyadmin.abc.com,可以访问到default下面的phpmyadmin文件,以实现数据库的管理,则可以在vhost目录下,

vi phpmyadmin.abc.com.conf    //新建虚拟目录文件

添加如下内容

server
    {
        listen 80;
        server_name phpmyadmin.abc.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/phpmyadmin;

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

        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

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

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

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/phpmyadmin.log;
    }

设置完成后,重启nginx,进入浏览器输入phpmyadmin.abc.com ,就可以访问phpmyadmin,进行数据库的管理了!记得把你的域名解析哦!

因为在nginx.conf 下面已经include vhost下的所以内容了,所以,如果还要添加域名的话,在新建虚拟域名的配置文件就可以了!

 include vhost/*; //这里可是设置多域名,将vhost内的文件引入即可

rsync同步与scp命令

/usr/bin/rsync -avrut --bwlimit=900 139.xx.xx.25:/home/wwwroot/release /home/wwwroot/

scp /home/software/a.sql root@139.xx.xx.14:/home/software  //把a.sql 复制到139.xx.xx.14上

scp root@139.129.201.25:/home/software/a.sql /home/software  //从139.xx.xx.25上把a.sql复制到本地