linux:ubuntu下搭建LNMP环境
2016-11-21 本文已影响463人
陈钢镚学财
前言
LNMP现在也是一个非常主流的php服务器端解决方案,前两天正好安装了ubuntu,那么今天就来记录一下我在ubuntu上,安装lnmp的过程。
步骤
- 安装nano编辑器
sudo apt-get install nano (^ 就是 ctrl )
-
安装mysql
lnmp_mysql.png
相关命令:
Sudo service mysql status -- 检测mysql是否运行
Sudo service mysql start -- 启动mysql
Sudo service mysql stop -- 关闭mysql
netstat –a -- 查看已连接的服务端口
Netstat –ap --查看所有服务端口
Netstat –ap | grep 8080 --查看固定端口
Kill pid --关闭进程
Mysql –uroot –p --登录mysql
配置远程登陆mysql:
grant all privileges on *.* to 'root'@'%'with grant option; -- 开启任何远程主机都可以连接数据库
flush privileges -- 让修改生效
设置/etc/mysql/my.cnf bind_address注释掉
重启,并删除原有的 其他root账户记录 user表
有时候可能是空密码,记得mysql需要在配置中打开允许空密码
新建用户:
CREATE USER 'vsonweb'@'%' IDENTIFIED BY '********';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'vsonweb'@'%';
GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `vsonweb`.* TO 'vsonweb'@'%';
GRANT GRANT OPTION ON `vsonweb`.* TO 'vsonweb'@'%';
- 安装nginx
Sudo apt-get install nginx
- 安装php5-fpm,php5,php-cli
Sudo apt-get install php5-fpm,php5,php-cli
dpkg -S php5-fpm 查看php5-fpm安装了哪些东西,且可以看见安装在了什么目录
- 集成nginx和php5
Nginx与php5一般通过fastcgi集成,而fastcgi一般使用php-fpm
Php-fpm与nginx一般有两种通信方式,tcp与unix socket
TCP方式就是使用TCP端口连接,一般是127.0.0.1:9000
Socket是使用unix domain socket连接套接字/dev/shm/php-cgi.sock(很多教程使用路径/tmp,而路径/dev/shm是个tmpfs,速度比磁盘快得多),在服务器压力不大的情况下,tcp和socket差别不大,但是在压力比较满的时候,使用套接字方式,效果比较好
- 集成php与nginx (sokect方式,nginx默认就有配置模板)
关于nginx的配置,我已经整理过一篇文章,也可以从我的简书里面找到,这里就不详细说明了。
添加nginx的server配置文件
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /website/vsonweb;
index index.html index.htm index.php;
server_name www.vsonweb.com vsonweb.com;
error_page 404 /website/vsonweb/404.html;
error_page 500 502 503 504 /website/vsonweb/50x.html;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
- 配置php5-fpm
使用命令查看 dpkg –S php5 的安装情况,找到 www.conf,修改listen。
/etc/php5/fpm/pool.d/www.conf
- 修改php.ini配置
/etc/php5/fpm/php.ini
cgi.fix_pathinfo=0
- 重启 nginx 和 php-fpm 服务
sudo /etc/init.d/nginx restart
sudo /etc/init.d/php5-fpm restart
-
这里,遇到了一个问题,nginx重启失败
error.png
sudo nginx –t
msg.png
照着错误提示修改即可
结语
ok,搭建lnmp就这么几步过程了,而我在搭建过程中遇到的问题,也都整理进去了。但是,这距离一台可持续维护且功能完善的linux服务器,还差得远~