首先介绍下在Ubuntu下对于LNMP下的安装和配置,当然,如果学习用的话,更推荐的是直接安装lnmp的集成开发环境,一次性安装所需的所有。
一、一键安装:
1、获取LNMP源码:命令: wget http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz
2、解压:命令:tar -xvf lnmp1.2-full.tar.gz
3、进入源码目录:命令: cd lnmp1.2-full/
4、进行安装命令:./install.sh
安装和部署时间较长请耐心等待,期间可能会遇到进程被占用的问题,直接kill掉那个进程,就可以继续进行安装:错误提示意思是“PID 为 xxxx 的另一个程序正在运行。 另外一个程序锁定了 yum;等待它退出……”解决命令:kill -9 (那个pid)【网上很多地方说的直接删除yum的命令最好不要采取】
二、逐个安装部署:
1、安装Nginx服务器
命令:sudo apt-get install nginx
目录:
(1)所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下;
(2)启动程序文件在/usr/sbin/nginx;
(3)日志放在了/var/log/nginx中,分别是access.log和error.log并已经在/etc/init.d/下创建了启动脚本nginx;
(4)默认的虚拟主机的目录设置在了/usr/share/nginx/www(可能会有些许差别);
配置nginx伪静态(以阿里云服务器为例):
server {
listen 80;(端口号)
server_name localhost;
index index.html index.htm index.php;
Root /alidata/www/网站目录;
location ~ .*\.(php|php5)?${
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${
expires 30d;
}
location ~ .*\.(js|css)?${
expires 1h;
}
#伪静态规则
location / {
if (!-e $request_filename){
//若写成 ^/(.*)$ /index.php?s=$1 last;变回出现访问问题,现在thinkphp框架中相当于访问了两次index.php,也就是说url拼接的位置是不对的,在apache中不需要担心,nginx中需要考虑,因为nginx中不支持伪静态
rewrite ^/index.php/(.*)$ /index.php?s=$1 last;
}
}
include /alidata/server/nginx/conf/rewrite/default.conf;
access_log /alidata/log/nginx/access/default.log;
}
2、安装mysql数据库
命令:
sudo apt-get install mysql-server mysql-clientsudo apt-get install php5-mysql (安装php5-mysql 是将php和mysql连接起来 )
测试是否可用:Mysql –u root -p
注:一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:sudo netstat -tap | grep mysql
当您运行该命令时,您可以看到类似下面的行:tcp 0 0 localhost.localdomain:mysql : LISTEN -如果服务器不能正常运行,您可以通过下列命令启动它:sudo /etc/init.d/mysql restart或者是sudo service mysql start
进入mysql:mysql -uroot -p 管理员密码配置 MySQL 的管理员密码:sudo mysqladmin -u root password newpassword
开放外网访问权限:
1、编辑 my.cnf 文件:sudo vi /etc/mysql/my.cnf
2、将绑定地址行注释掉或者修改为指定 IP:#bind-address = 127.0.0.1
3、登录 MySQL:mysql -uroot -p密码
4、添加 root 用户访问权限:grant all privileges on *.* to 'root'@'%' identified by '密码';
5、flush privileges;
6、查看 user 权限,成功修改权限为 %:select host,user from mysql.user;
+------------+----------------+
| host | user |
+------------+----------------+
| % | root || 127.0.0.1 | root || localhost | root |
+------------+----------------+
重启 MySQL:sudo /etc/init.d/mysql restart
3、安装PHP命令:
sudo apt-get install php5 php5-mysql libapache2-mod-php5 php5-curl php5-memcache php5-json (安装PHP以及 其支持)
测试Nginx对PHP的支持:
1、重新启动nginx:/etc/init.d/nginx restart
2、启动FastCGI:spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
3、spawn-fcgi启动出现错误时,查看php-cgi是否安装,如果么有的话,安装php5-cgi。命令:sudo apt-get install php5-cgi
4、其他缓存等服务命令:sudo apt-get install screen; sudo apt-get install memcached;