linux環境安裝nginx1.4+php7.2.7+mysql5.7.2.3
之前的版本(php5.6.36,mysql5.6.40), 安裝php7就可以支持更高版本的swoole性能比較好。php5.6也快停止更新了。安裝完之后性能比以前更好。
單個安裝比較繁瑣,也可以lnmp一鍵安裝(https://lnmp.org/)。自己選擇比較適合的版本
一. nginx版本1.4安裝
1.安裝基礎依賴包
yum install gcc* automake zlib-devel libjpeg-devel giflib-devel freetype-devel
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2.選擇安裝文件路徑 : cd/usr/local/src
3.安裝PCRE庫(pcre來解決C語言中使用正則表達式)
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.34
./configure
make
make install
4.安裝zlib庫(zlib是提供數據壓縮用的函式庫)
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.34
./configure
make
make install
5.安裝openssl
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz
5.安裝nginx(http://nginx.org/download下載,下載之后上傳cd /usr/local/src)
cd /usr/local/src
(wget http://nginx.org/download/nginx-1.14.0.tar.gz)
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.1.10
./configure
make
make install
如果安裝報錯 ,在安裝yum -y install openssl openssl-devel
6.啟動nginx
啟動nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看nginx進程: ps -ef|grep nginx
強制停止:pkill -9 nginx
校驗nginx配置是否正確:
cd /usr/local/nginx/sbin
./nginx -t
重啟nginx
cd /usr/local/nginx/sbin
./nginx -s reload
通過訪問ip ,出現wecome to nginx
如果nginx安裝成功,訪問不了,關閉防火牆
開啟80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義:
--zone #作用域
--add-port=80/tcp #添加端口,格式為:端口/通訊協議
--permanent #永久生效,沒有此參數重啟后失效
重啟防火牆
firewall-cmd --reload
或者永久關閉防火牆
systemctl stop firewalld.service //停止防火牆
systemctl disable firewalld.service //不再開機停止運行防火牆
二 php(7.2.7)源碼安裝
1.下載php對應的安裝包:http://php.net/downloads.php(上傳到/usr/local/src目錄)
2.解壓php壓縮包
cd /usr/local/src
tar –zxvf php-7.2.7.tar.gz
3.安裝php擴展:
進入目錄:cd php-7.2.7
yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel -y
4.配置參數
./configure --prefix=/usr/local/php7 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
5.編譯安裝
make&& make install
6.配置nginx.conf 支持解析php
加上 index.php
location / {
root html;
index index.php index.html index.htm;
}
location ~ ^(.+\.php)(.*)$ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
#fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
client_max_body_size 500m;
}
7.啟動php-fpm:
將php-fpm.conf.default復制為php-fpm.conf
cd /usr/local/php7/etc
cp php-fpm.conf.default php-fpm.conf
然后啟動php-fpm
/usr/local/php7/sbin/php-fpm
如果啟動報錯:
解決方法:進入到 /usr/local/php7/etc/php-fmp.d下的www.conf.default 復制為www.conf,然后啟動php-fpm
先把php-fpm進程清除
再啟動php-fpm
/usr/local/php7/sbin/php-fpm
8.最后在/usr/local/nginx/html下新建文件index.php,輸出phpinfo();
三.安裝mysql5.7.23 (最新8.0.1)
1.下載
wget: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
2、將mysql安裝到/usr/local/mysql下
# 解壓
tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
# 移動
mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/
# 重命名
mv /usr/local/mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql
3.新建data目錄
mkdir /usr/local/mysql/data
4、新建mysql用戶、mysql用戶組
# mysql用戶組
groupadd mysql
# mysql用戶
useradd mysql -g mysql
5、將/usr/local/mysql的所有者及所屬組改為mysql
chown -R mysql.mysql /usr/local/mysql
6、配置(實列化成功會出現密碼root@localhost: q9fSP9uRDa-R)
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
#如果報錯, 則使用以下命令:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
或者
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
7.添加my.cnf(5.7.23沒有默認my.cnf需要自己配置)
vi /etc/my.cnf
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#skip-name-resolve
#設置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 設置mysql的安裝目錄
basedir=/usr/local/mysql
# 設置mysql數據庫的數據的存放目錄
datadir=/usr/local/mysql/data
# 允許最大連接數
max_connections=10000
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
8.開機啟動
加入服務
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 開機自啟
chkconfig mysql on
# 開啟
service mysql start
9.登錄mysql修改密碼(之前實列化有密碼)
mysql -u root -p
修改密碼
set password = password('密碼')
10.允許遠程訪問
mysql -u root -p
use mysql;
update user set host='%' where user = 'root';
flush privileges;
eixt;
———————已經完成nginx版本1.4,php7.2.7和mysql5.7.23———————
查看mysql版本: mysql -V
查看php版本: php -v [沒有環境變量就用: phpinfo() ]
查看nginx版本: nginx -v
查看swoole版本:php --ri swoole
查看redis版本: ./redis-server --version