之前在虚拟机上部署了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复制到本地