阿里云服务器centOs7.4下源码搭建lnmp环境

一,源码安装nginx

第一步点击进入http://nginx.org/download/ 官网下载合适的版本,推荐稳定版,用命令下载wget http://nginx.org/download/nginx-1.14.0.tar.gz

tar  zxvf  nginx-1.14.0.tar.gz解压文件

下载nginx的依赖文件wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

tar  zxvf  pcre-8.38.tar.gz解压文件

cd pcre-8.38

配置依赖安装路径./configure --prefix=/usr/local/pcre-8.38 

  1. 注:如果出现configure: error: You need a C++ compiler for C++ support. 错误 请安装gcc  
  2.   
  3.                     yum -y install gcc-c++  

make

sudo make install

cd nginx-1.14.0

./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.38/ 

路径释义  --prefix=/usr/local/nginx 安装目录    --with-pcre=../pcre-8.38/ 依赖正则 URL重写的功能

make && make install

编译完成后

cd /usr/local/nginx/sbin

./nginx

由于用的是阿里的服务器需要配置阿里的安全组

1. 打开 云服务器ECS——安全组

这里写图片描述


2. 从【配置规则】处进入配置页面

这里写图片描述


3. 点击【添加安全组规则】

  • 80端口为HTTP网页访问的端口
  • 3389端口为远程桌面连接的端口【远程桌面无法连接就是因为没有添加这个端口】
  • 地址段设置为 0.0.0.0/0 代表所有IP均能访问 
    这里写图片描述

然后关闭防火墙或配置防火墙

开启80端口

1、 firewall -cmd --zone=public --add-port=80/tcp --permanent
 出现success表明添加成功

 命令含义:

--zone #作用域

--add-port=80/tcp  #添加端口,格式为:端口/通讯协议

--permanent   #永久生效,没有此参数重启后失效

重启防火墙

1、 systemctl restart firewalld.service
 
 1、运行、停止、禁用firewalld

启动:# systemctl start  firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

配置成功后用浏览器访问外网ip


表示安装成功。

二,安装Mysql

首先从官网下载mysql包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11.tar.gz

tar -zxvf mysql-8.0.11.tar.gz 

  安装mysql的依赖工具

sudo yum install cmake gcc-c++ ncurses-devel perl-Data_dumper boost boost-doc boost-devel

编译配置文件

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_DOWNLOADS=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=1 \
-DWITH_SSL:STRING=bundled \
-DWITH_ZLIB:STRING=bundled \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/share/doc/boost-doc-1.41.0/

配置中完成后编译mysql

make

编译过程会比较慢,对于配置较低的服务器,可能会在编译中突然中断并error,百度一下error信息,如果是因为内存过小而中断,建议使用yum安装吧!  如果编译失败 点击这里 去yum源安装mysql (删除以上mysql所操作的所有相关文件、文件夹),成功编译的请忽略这段话,继续以下的步骤

sudo make install


    --complate! 安装完成之后需要对数据库一个小小的配置  简要步骤如下

1. 配置mysql文件:
    > cd /etc/my.cnf 
    # 加入配置参数

    > character-set-server=utf8 


2.登录mysql

>mysql -u root -p


3.允许远程连接

use mysql;

update user set Host='%', Password=PASSWORD('这里填写你设置的密码') where Host='127.0.0.1';

flush privileges;

exit;


4.最后重启

service mysqld resatrt

5.测试mysql是否安装连接成功


如果连接不成功看是否是服务器安全组端口没给到,或防火墙问题。

三.安装php

1.yum安装php的依赖库

yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel

2.下载需要的php源码包

wget http://cn2.php.net/distributions/php-5.6.6.tar.gz

tar -zxvf php-5.6.6.tar.gz
cd ./php-5.6.6/

3.配置php的编译参数

./configure --prefix=/usr/local/php --with-mysql --with-mysqli --with-pdo_mysql --with-iconv-dir --with-zlib --with-libxml-dir --enable-xml --with-curl --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-freetype-dir=/usr/lib64

4.开始编译安装

make
make install

5.编译完成进入安装目录

cd  /usr/local/php

启动php

 /sbin/php-fpm

报错了
[19-Apr-2018 16:02:08] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[19-Apr-2018 16:02:08] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[19-Apr-2018 16:02:08] ERROR: FPM initialization failed

错误信息说是找不到php-fpm.conf

到php的配置目录
cd /usr/local/php/etc
有一个php-fpm.conf.default的文件,cp复制
cp php-fpm.conf.default php-fpm.conf

编辑 php-fpm.conf
找到以下配置项, 取消掉配置注释

pid = run/php-fpm.pid

 

再次运行 
/usr/local/php/sbin/php-fpm
报错了:
[19-Apr-2018 16:07:17] ERROR: [pool www] cannot get uid for user 'nginx'
[19-Apr-2018 16:07:17] ERROR: FPM initialization failed

说nginx用户不存在,那么建立nginx用户

useradd nginx

再次启动

/usr/local/php/sbin/php-fpm

没有任何报错,说明运行成功了

6.设置mysql开机启动

开机启动的配置文件是:/etc/rc.local

# vi /etc/rc.local

在最后一行添加

/usr/local/php/sbin/php-fpm  # 添加进来

我们在新安装扩展后,是需要重新php-fpm的,已使扩展生效。

最简单粗暴的重新php-fpm的方式是:

ps aux |grep php

kill -9 1234    杀死进程  kill 掉,再用/usr/local/php/sbin/php-fpm 这样启动。

7.安装完成后还需要配nginx解析php文件

1、进入nginx目录
cd /usr/local/nginx

2、编辑配置文件
vi ./conf/nginx.conf

在 server 下找到

location / {
    root html;
    index index.html index.htm index.php; # 加上 index.php
}

去掉前面注释 修改内容#


location ~ \.php$ {
    root /usr/local/nginx/html; # 绝对路径配置到html下
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

 

3、然后平滑重启nginx
./sbin/nginx -s reload

没有报错,说明重启成功

4.在nginx的html中写一个phpinfo()的php文件去浏览器访问验证是否解析成功,如果成功则解析成功。



猜你喜欢

转载自blog.csdn.net/qq_42213615/article/details/80603587
今日推荐