搭建LNMP环境过程及可能遇到的问题

本文详细介绍了如何在服务器上从零开始搭建LNMP环境,包括关闭防火墙、安装配置Nginx、PHP7及MySQL等步骤,并解决了常见问题如Nginx无法解析PHP文件、配置pathinfo等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建LNMP环境可以采用一键安装的方法或者单独安装各服务、当然还有很多种搭建方式。

下面就以单独安装各服务为例 简述下安装过程及安装过程中可能遇到的问题

1、新装好的服务器需要先关闭防火墙

1) 重启后生效 
开启: chkconfig iptables on 
关闭: chkconfig iptables off

2) 即时生效,重启后失效 
开启: service iptables start 
关闭: service iptables stop 

2、安装nginx

yum install nginx

3、修改nginx配置文件

修改nginx配置文件后,可能重启出现报错:
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
解决办法:vim /etc/nginx/conf.d/default.conf
将
listen       80 default_server;
listen       [::]:80 default_server;
改为:
listen       80;
#listen       [::]:80 default_server;


4、解决nginx无法解析php文件问题

修改文件中对应的php配置部分
location ~ \.php$ {
root /home/www/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

5、安装PHP(此处安装的为PHP7)

rpm 安装 Php7 相应的 yum源
CentOS/RHEL 7.x:
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
CentOS/RHEL 6.x:
# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm


yum安装php7
# yum install php70w php70w-opcache
 
安装其他插件(选装)
php70w
php70w-bcmath 
php70w-cli
php70w-common
php70w-dba 
php70w-devel 
php70w-embedded
php70w-enchant 
php70w-fpm 
php70w-gd 
php70w-imap 
php70w-interbase
php70w-intl 
php70w-ldap 
php70w-mbstring 
php70w-mcrypt 
php70w-mysql
php70w-mysqlnd
php70w-odbc
php70w-opcache
php70w-pdo 
php70w-pdo_dblib 
php70w-pear 
php70w-pecl-apcu 
php70w-pecl-imagick 
php70w-pecl-xdebug 
php70w-pgsql 
php70w-phpdbg 
php70w-process 
php70w-pspell 
php70w-recode 
php70w-snmp 
php70w-soap 
php70w-tidy 
php70w-xml 
php70w-xmlrpc 


6、改nginx配置文件让PHP的请求转发到php-fpm所绑定的ip和端口上

vi /etc/nginx/conf.d/default.conf                 #行[37-43]
去掉#号:
location ~ \.php$ {
      root /usr/share/nginx/html;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
      } 

7、安装MySQL

yum -y install mysql mysql-server    #不需要提示安装
查看mysql  mysql-server是否存在:
which mysql                   #查看mysql是否存在
which mysqld_safe         #查看mysqld_safe是否存在
-------------------------------------------------------
mysql_install_db          #mysql初始化,在mysql中建立起系统表
mysqld_safe &            #启动mysql
ps -ef | grep mysqld    #mysqld 是否存在
----------------------------------------------
mysql -uroot              #链接进入mysql数据库


修改mysql密码
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】


修改刷新MySQL权限
mysql->GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql->flush privileges;

8、配置nginx 支持pathinfo   目录vi /etc/nginx/conf.d/default.conf

典型配置

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
    include        fastcgi_params;
}

修改第1,6行,支持pathinfo

location ~ \.php(.*)$ { # 正则匹配.php后的pathinfo部分
    root html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
    fastcgi_param PATH_INFO $1; # 把pathinfo部分赋给PATH_INFO变量
    include        fastcgi_params;
}

重启服务


9、VIM编辑器乱码问题

vim下 vimrc文件添加setcoding=utf-8






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值