Centos7編譯安裝lnmp(nginx1.10 php7.1.5)

我使用的是阿里雲的服務器 Centos7 64位的版本php

1. 鏈接服務器
html

這個是Xshell5的版本 安裝好以後咱們開始鏈接服務器node

鏈接服務器成功

2. 安裝nginxpython

首先安裝nginx的依賴mysql

yum install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5

執行命令的結果

上圖是將代碼執行後的結果nginx

確認安裝

中途會詢問咱們是否安裝 咱們按 「y」 並回車安裝c++

依賴安裝完成

上圖表示依賴已經安裝完成!! 下面安裝nginxgit

在root家目錄下建立一個software目錄 mkdir softwaresql

(可使用 cd ~切換到用戶的家目錄) 
建立software目錄shell

 

下面將咱們須要的全部軟件下載到software目錄中 
咱們能夠用wget

wget http://nginx.org/download/nginx-1.10.1.tar.gz

wget http://sourceforge.net/projects/pcre/files/pcre/8.35/pcre-8.35.tar.gz/download

wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz?download

wget http://cn2.php.net/distributions/php-7.1.5.tar.gz
下載完成後對文件進行解壓 

tar -zxvf nginx-1.10.1.tar.gz
上傳完成後解壓

cd nginx-1.10.1

./configure

下面進入到nginx解壓後的目錄並進行編譯

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8

咱們將nginx安裝到/usr/local/nginx目錄下

編譯安裝nginx

下圖這樣就是編譯成功

編譯成功

1.下面執行make

2.make install 進行安裝

安裝nginx成功

上圖表示安裝nginx成功

首次啓動nginx

/usr/local/nginx/sbin/nginx

ps -e |grep nginx

啓動nginx

訪問測試

訪問測試

若是你能看見上面這樣的效果就表示nginx已經啓動成功!!!

nginx加入到開機自動啓動

到這裏咱們的nginx尚未實現開機自動啓動 那麼咱們就把他加入到開機自動啓動服務中!

咱們先編輯系統啓動腳本

vim /etc/rc.local

這個文件是系統啓動後會自動執行的,咱們就將啓動命令加入到這個文件中

編輯rc.local文件

咱們能夠按i 進入到編輯模式 插入對應的程序啓動命令便可

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &

將開機啓動腳本加入到文件中

隨後咱們:wq保存文件並退出,

 init 6

重啓系統

重啓後咱們鏈接到服務器上使用

ps -e | grep nginx 

查看nginx的進程發現已經成功的啓動了

查看nginx啓動進程

若是你發現你的進程沒有成功的啓動多是由於你的這個腳本文件沒有能夠執行的權限 請給該文件增長 其餘人能夠執行的權限 

chmod o+x /etc/rc.local

後重啓再次查看

下圖表示若是咱們不在nginx程序的目錄中沒法使用nginx的命令 會提示找不到nginx

找不到nginx

下面咱們將nginx的位置加入到環境變量中

vi /etc/profile

編輯環境變量文件,加入以下內容

 

加入nginx的位置

隨後咱們更新環境變量

source /etc/profile

並使用命令再次重啓nginx

這時已經再也不報錯了

 

配置nginx啓動腳本

cd  /etc/init.d

vim nginx

把以下內容寫到 nginx文件裏

#!/bin/bash
#chkconfig: 2345 99 20
#description: nginx-server
nginx=/usr/local/nginx/sbin/nginx
case $1 in
        start)
                netstat -anptu | grep nginx
                if [ $? -eq 0 ]
                then
                    echo "nginx service is already running"
                else
                     echo "nginx Service started successfully "
                    $nginx
                fi
         ;;
        stop)
                $nginx -s stop
                if [ $? -eq 0 ]
                then
                echo "nginx service closed successfully"
                else
                    echo "nginx server stop fail,try again"
                fi
        ;;
        status)
                netstat -anlpt | grep nginx
                if [ $? -eq 0 ]
                then
                    echo "nginx server is running"
                else
                    echo "nginx service not started "
                fi
        ;;
        restart)
                 $nginx -s reload
if [ $? -eq 0 ]
                 then
                     echo "nginx service restart successfully "
                 else
                     echo "nginx server restart failed"
                 fi
        ;;
        *)
                 echo "please enter {start restart status stop}"
        ;;

esac

保存退出!

重啓nginx

/etc/init.d/nginx restart

在阿里雲安全組添加80端口

關閉防火牆

systemctl status firewalld.service

放問服務器IP地址 看到下圖 安裝說明成功

 

 

3.下面編譯安裝PHP

安裝必要的軟件依賴

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg \
libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline \
readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel \
db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel \
libmcrypt-devel libmemcached-devel

中途會有提示詢問是否安裝 按y繼續安裝

繼續安裝

安裝完成後

咱們去軟件目錄解壓文件

tar -zxvf  php-7.1.5.tar.gz

進入PHP解壓後的目錄

cd php-7.1.5/

編譯

./configure \
--prefix=/usr/local/php-fpm \ --with-config-file-path=/etc \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-soap \ --with-libxml-dir \ --with-xmlrpc \ --with-openssl \ --with-mcrypt \ --with-mhash \ --with-pcre-regex \ --with-sqlite3 \ --with-zlib \ --enable-bcmath \ --with-iconv \ --with-bz2 \ --enable-calendar \ --with-curl \ --with-cdb \ --enable-dom \ --enable-exif \ --enable-fileinfo \ --enable-filter \ --with-pcre-dir \ --enable-ftp \ --with-gd \ --with-openssl-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-gettext \ --with-gmp \ --with-mhash \ --enable-json \ --enable-mbstring \ --enable-mbregex \ --enable-mbregex-backtrack \ --with-libmbfl \ --with-onig \ --enable-pdo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-zlib-dir \ --with-pdo-sqlite \ --with-readline \ --enable-session \ --enable-shmop \ --enable-simplexml \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-libxml-dir \ --with-xsl \ --enable-zip \ --enable-mysqlnd-compression-support \ --with-pear \ --enable-opcache \
--enable-intl \

PHP編譯完成

安裝

1.make 
2.make install

PHP安裝完成

配置php-fpm

1.複製一份配置文件到系統配置文件夾裏

cd root/software/php-7.1.5

cp php.ini-production /etc/php.ini

2.到php-fpm的安裝目錄etc下複製一份配置文件

cp /usr/local/php-fpm/etc/php-fpm.conf.default /usr/local/php-fpm/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
做者:MMTTMM
連接:https://www.imooc.com/article/44391
來源:慕課網

隨後咱們編輯這個配置文件

開啓PID記錄

找到

;pid = run/php-fpm.pid

;error_log = log/php-fpm.log  =>/var/log/nginx/php-fpm.log

;include=/usr/local/php-fpm/etc/php-fpm.d/*.conf

若是有註釋,就去掉前面的註釋  根據須要存放文件的位置 從新指定文件的路徑

保存退出!

進入php-fpm.d目錄

cd php-fpm.d

修改 www.conf 文件

若是這個文件不存在,就從default複製一份:

cp www.conf.default www.conf

vim www.conf

將配置文件中的 user 和 group 部分的 nobody 改爲 www:

修改

user = www

group = www

若是www用戶不存在,那麼先添加www用戶

groupadd www

useradd -g www www

咱們第一次啓動php-fpm測試

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

ps -e |grep php-fpm

建立對應的組

上圖咱們建立了對應的用戶 系統會默認爲咱們建立一個同名的用戶組,再次從新啓動php-fpm後查看進程就已經啓動成功了

咱們能夠經過快捷命令管理php-fpm 
關閉php-fpm (路徑要和個人同樣)

kill `cat /usr/local/php-fpm/var/run/php-fpm.pid `

1.加入系統變量
sudo echo "PATH=$PATH:/usr/local/php-fpm/bin">> /etc/profile

  2.下面讓環境變量生效

source /etc/profile

php -v

另外一種配置啓動命令

CD

/root/software/php-7.1.5/sapi/fpm

進入目錄

cp init.d.php-fpm   /etc/init.d/php-fpm

啓動php-fpm測試

/etc/init.d/php-fpm start

 

 

 3.若是升級PHP版本必定要把原來的安裝目錄以及在安裝目錄外的安裝信息完全刪除從新編譯安裝,重複以上操做便可!

(注意:若是第二次編譯出現擴展已開啓卻沒法加載到!說明上一次卸載沒有完全)

 

4. 整合Nginx與PHP

一、編輯Nginx.conf,啓用以下選項:

cd /usr/local/nginx/conf/ 
vim nginx.conf

location ~ \.php$ {

            root          html; =》root /usr/local/nginx/html

            fastcgi_pass  127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;   =》root /usr/local/nginx/html$fastcgi_script_name;

            include        fastcgi_params;

        }

從新指定根目錄!

在所支持的主頁面格式中添加php格式的主頁,相似以下:

location / { 

            root  html;   =》root /usr/local/nginx/html

            index  index.php index.html index.htm; 

            try_files $uri $uri/ /index.php?$query_string;//新增 相似路由重定向  做用是美化路由!

        }

順便開啓錯誤日誌

去掉error_log  access_log前的註釋,並指定錯誤日誌的文件路徑。

error.log  /var/log/nginx/error.log;

access_log  /var/log/nginx/access_log;

建立目錄用於存儲錯誤日誌

cd /var/log/

mkdir nginx

二、編輯配置文件下的fastcgi_params,

將其內容更改成以下內容:

# mv fastcgi_paramsfastcgi_params.bak 
# cat fastcgi_params

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING      $query_string;
fastcgi_param  REQUEST_METHOD    $request_method;
fastcgi_param  CONTENT_TYPE      $content_type;
fastcgi_param  CONTENT_LENGTH    $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI      $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

保存退出!

殺死php-fpm全部的進程

kill `cat /usr/local/php-fpm/var/run/php-fpm.pid `

#從新載入配置

 /etc/init.d/php-fpm restart
 /etc/init.d/nginx restart

三、在/usr/local/nginx/html目錄下新建index.php測試頁面

vim index.php

<?php

phpinfo();

<?

4.可經過瀏覽器 訪問此測試頁面,驗證nginx鏈接php配置是否成功.

5.若是訪問失敗 能夠 cd /var/log/nginx  目錄裏查看錯誤日誌!access.log error.log php-fpm.log!看看php-fpm 和nginx是否在運行,以及根據錯誤日誌 去尋找答案!

 

 

5. 手動編譯安裝Mysql-5.7.20

1、安裝編譯環境須要的依賴包:

yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml*ncurses-devel \
ncurses libgcrypt* libtool* cmake openssl openssl-devel bisonbison-devel \  perl-Data-Dumper boost boost-doc boost-devel

2、下載源代碼和解壓源代碼:

cd /root/software
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz
tar -zxvf mysql-boost-5.7.20.tar.gz

3、建立mysql用戶和data目錄:

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/conf
chown -R mysql:mysql /usr/local/mysql/
4、定製配置
cd /root/software/mysql-5.7.20/
1.
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \                     //5.7版本必須添加這個參數
-DWITH_SYSTEMD=1
 
2.make
 
3.make install
 
4.若是安裝到中間進程結束則說明內存不足

  臨時使用交換分區來解決吧

sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
安裝完成以後 則清除分區
sudo swapoff /swapfile
sudo rm /swapfile
 
5、修改配置文件
若是/etc下面沒有 則去複製一份這裏!

vi /etc/my.cnf

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8

log-error=/var/log/mysqld.log
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

暫時不用添加:sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,

NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

6、設置環境變量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile    //把這兩個路徑添加到環境變量中,並放到profile文件中使之開機自運行,不然不生效

echo 'export PATH' >> /etc/profile      //把PATH設爲全局變量

source /etc/profile

7、初始化數據庫

cd /usr/local/mysql/

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

記得給日誌文件添加權限

8添加到systemctl系統服務:

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start mysqld

netstat -anpt | grep 3306

systemctl enable mysqld

9Mysql設置賬戶和密碼,默認無密碼

mysqladmin -u root -p password "root"

mysql -u root -p

10更改用戶密碼命令:

mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
11防火牆開放mysql端口
啓動一個服務:systemctl start firewalld.service
顯示一個服務的狀態:systemctl status firewalld.service
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload
yum install lsof
lsof -i:3306
 
添加3306端口
firewall-cmd  --zone=public --add-port=3306/tcp --permanent    (--permanent永久生效,沒有此參數重啓後失效)
從新載入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=3306/tcp

 

12開放 Root 遠程鏈接權限:

mysql -u root -p
password 爲遠程鏈接用的密碼
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit;
啓動mysql
systemctl enable mysqld.service
systemctl daemon-reload
systemctl start mysqld.service
systemctl status mysqld.service
 
  注意:若是是阿里雲服務器的話記得在安全組添加3306端口 否則訪問不了(記得關閉防火牆)
 
6.安裝git

一、查看是否安裝了git



若已經安裝,須要先卸載。卸載命令以下:rpm -qa|grep git


rpm -e --nodeps git 或者 rpm -e git

二、安裝Git



git --versionyum install git

 

3.直接到根目錄 撿代碼

git clone 倉庫地址url



7.全局安裝composer

1. 下載composer-setup.php到/usr/local

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

2. 安裝

php composer-setup.php

3. 將composer設置成全局

mv composer.phar /usr/local/bin/composer

4. 替換成中國全量鏡像

composer config -g repo.packagist composer https://packagist.phpcomposer.com
相關文章
相關標籤/搜索