刚开始一直在尝试自己源代码一步一步搭建LNMP环境,但是不知道为什么,在php与nginx交互上一直出错,前前后后也解决了好多个问题,最终访问localhost时,出现的还是welcome to nginx 的画面,虽然安装环境用了三四天,也遇到了很多问题,所以在这里向大家分享一下快速搭建的经验,小编使用的是CentOS7.2的Linux系统,在VirtualBox上运行,理由很简单,免费,开源,稳定。
系统需求:
安装步骤:
1、使用putty或类似的SSH工具登陆VPS或服务器;
登陆后运行:
screen -S lnmp
yum install screen
wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp
wget -c http://soft.vpser.net/lnmp/lnmp1.4beta.tar.gz && tar zxf lnmp1.4beta.tar.gz && cd lnmp1.4 && ./install.sh lnmp
*********************************************************************************分割线*******************************************************************************************************
以上安装教程来自
https://lnmp.org/install.html
;
接下来打开Linux上默认安装的火狐浏览器
输入
localhost
出来的界面如下(因为该一键安装包由lnmp.org提供,所以默认的localhost界面如下,如果你看到了这个界面,就松一口气吧,lnmp环境已搭建成功)
尝试访问一下
localhost/p.php
如果是刚安装好Lnmp环境,访问php文件时,肯定会出现一个提示你下载的界面,这时不要怀疑你安装了假的lnmp环境,而是因为lnmp一键安装包中默认没有在nginx.conf配置文件中设置好,碰到php文件时,要传递到后方的php解释器。
此时需要对nginx.conf(使用lnmp安装包的,nginx.conf的路径为:/usr/local/nginx/conf)添加
location ~ .*\.php$ {
fastcgi_pass 127.0.0.1:9000;
}
上面的意思,就是说,碰到.php结尾的文件,传递给后方127.0.0.1的9000端口上。
下面贴上我nginx.conf的全部内容供参考(请大家在修改nginx.conf前做好备份)
user www www;
worker_processes auto;
error_log /home/wwwlogs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
#limit_conn_zone $binary_remote_addr zone=perip:10m;
##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.
server_tokens off;
access_log off;
server
{
listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
server_name www.lnmp.org;
index index.php index.html index.htm;
root /home/wwwroot/default;
#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 ~ .*\.php$
{
fastcgi_pass 127.0.0.1:9000;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/access.log;
}
include vhost/*.conf;
}
service nginx restart
localhost/p.php
wget https://cn.wordpress.org/wordpress-4.7.1-zh_CN.tar.gz
解压:
tar xf wordpress-4.7.1-zh_CN.tar.gz -C /home/wwwroot/default/wordpress
改变属主:
chown www.www -R /home/wwwroot/default/wordpress
建立wordpress用到的数据库:
mysql -u root -p;
create user ‘mywordpress'@'%' identified by '0000';
create database wordpress ;
grant all privileges on wordpress.* to 'mywordpress'@'%' identified by '0000';
flush privileges;
\q;
mv /data/www/wordpress/wp-config-sample.php/data/www/wordpress/wp-config.php
vim /www/data/wordpress/wp-config.php
如果没有vim编辑器的先yum install vim
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'mywordpress');
/** MySQL数据库密码 */
define('DB_PASSWORD', '0000');
/** MySQL主机 */
define('DB_HOST', 'localhost');
修改完成后访问,进行一些初始化的设置
localhost/wordpress/wp-config.php