CentOS 7安装nginx+php+mysql环境
0x01 安裝php
1、首先得安裝第三方軟件庫
yum install epel-release 復制代碼2、安裝依賴包
yum install gcc gcc-c++ glibc libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel 復制代碼3、下載php源碼
下載 php-5.6.30.tar.gz
4、編譯&安裝
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --enable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar make make install 復制代碼5、為php提供配置文件
cp php.ini-production /usr/local/php/lib/php.ini 復制代碼6、為php-fpm提供配置文件
cd /usr/local/php cp etc/php-fpm.conf.default etc/php-fpm.conf vim etc/php-fpm.conf 復制代碼修改以下內容
pm.max_children = 150 pm.start_servers = 8 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pid = /usr/local/php/var/run/php-fpm.pid 復制代碼7、啟動php-fpm
執行以下命令:
/usr/local/php/sbin/php-fpm 復制代碼使用如下命令來驗證(如果此命令輸出有中幾個php-fpm進程就說明啟動成功了):
ps aux | grep php-fpm 復制代碼0x02 安裝nginx
1、安裝依賴包
yum install gcc automake autoconf libtool make gcc-c++ readline readline-devel pcre pcre-devel opemssl openssl-devel zlib zlib-devel 復制代碼2、下載源碼
為利于后期開發,nginx采用 openresty
3、編譯&安裝
./configure --prefix=/usr/local/openresty/nginx --sbin-path=/usr/local/openresty/nginx/sbin/nginx --conf-path=/usr/local/openresty/nginx/nginx.conf --pid-path=/usr/local/openresty/nginx/nginx.pid --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi make make install 復制代碼4、nginx和php-fpm整合
編輯文件/usr/local/openresty/nginx/nginx.conf,以下內容的“#”號去掉,結果如下:
log_format main '$remote_addr - $remote_user [$time_local] "$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log logs/access.log main;location / {root html;index index.html index.htm;}location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;#include fastcgi_params;include fastcgi.conf;} 復制代碼重新載入nginx的配置文件
/usr/local/openresty/nginx/sbin/nginx -s reload 復制代碼5、測試php文件
在/usr/local/openresty/nginx/html下創建index.php文件,輸入如下內容
phpinfo(); 復制代碼瀏覽器訪問http://你的服務器ip/index.php,即可以見到php信息了。
非本機訪問需要開啟防火墻策略
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啟后失效) firewall-cmd --reload 復制代碼0x03 mysql安裝
1、下載安裝包
下載 mysql-5.7.16-linux-glibc2.5-x86_64.tar
2、檢查庫文件是否存在,如有刪除。
rpm -qa | grep mysql mysql-libs-5.1.52-1.el6_0.1.x86_64 rpm -e mysql-libs-5.1.52.x86_64 --nodeps 復制代碼3、檢查mysql組和用戶是否存在,如無創建。
cat /etc/group | grep mysql mysql:x:490: cat /etc/passwd | grep mysql mysql:x:496:490::/home/mysql:/bin/bash 復制代碼以上為默認存在的情況,如無,執行添加命令:
groupadd mysql useradd -r -g mysql mysql //useradd -r參數表示mysql用戶是系統用戶,不可用于登錄系統。 復制代碼4、解壓TAR包,更改所屬的組和用戶
cd /usr/local/ tar xvf mysql-5.7.12-linux-glibc2.5-x86_64.tar ls -l tar xvfz mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql chown -R mysql mysql/ chgrp -R mysql mysql/ cd mysql/ 復制代碼5、安裝數據庫
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 復制代碼如果改變默認安裝路徑,則需要
1、/etc/my.cnf、/etc/init.d/mysqld中修改basedir='/apps/mysql'datadir='/apps/mysql/data' 2、創建ln mkdir -p /usr/local/mysql/binln -s /apps/mysql/bin/mysqld /usr/local/mysql/bin/mysqld` 復制代碼6、初始化數據庫
cp -a ./support-files/my-default.cnf /etc/my.cnf cp -a ./support-files/mysql.server /etc/init.d/mysqld cd bin/ ./mysqld_safe --user=mysql &/etc/init.d/mysqld restart 復制代碼7、設置開機啟動
chkconfig --level 35 mysqld on 復制代碼8、初始化密碼
mysql5.7會生成一個初始化密碼,而在之前的版本首次登陸不需要登錄。
cat /root/.mysql_secret ./mysql -uroot -p Enter password: SET PASSWORD = PASSWORD('********'); flush privileges;//重啟生效 /etc/init.d/mysqld restart 復制代碼0x04 添加PDO擴展
一些漏洞環境(dvwa)數據庫連接改用pdo,如未安裝,可在此進行安裝。
在PHP源碼包中進入ext/pdo_mysql,按以下步驟執行。
/usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql make make install 復制代碼注: 我的PHP安裝在:/usr/local/php/,mysql安裝在:/usr/local/mysql,編譯的時候注意你自己的安裝目錄在哪里。
修改配置文件php.ini
打開并添加
extension=pdo_mysql.so extension=pdo.so 復制代碼重啟php-fpm
轉載于:https://juejin.im/post/5c4fea8bf265da61223ab656
總結
以上是生活随笔為你收集整理的CentOS 7安装nginx+php+mysql环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在pom.xml中配置nexus上传地址
- 下一篇: 受 SQLite 多年青睐,C 语言到底