发布时间:2020/05/11 作者:天马行空 阅读(1360)
一、安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel gd gd-devel ttf freetype curl-devel zlib-devel libxml2-devel bzip2-devel libxpm-devel libXpm libicu-devel libXpm-devel.i386 libXpm-devel.i586 libXpm-devel.i686 mbstring exif libicu-devel libmcrypt-devel php-mcrypt
二、安装 Nginx
#下载 Nginx wget wget http://nginx.org/download/nginx-1.19.2.tar.gz #解压安装包 tar -zvxf nginx-1.19.2.tar.gz #进入安装包目录 cd nginx-1.19.2 #编译安装 ./configure --prefix=/home/wwwroot/nginx --with-http_stub_status_module --with-http_ssl_module make && make install
三、Nginx 配置
#创建 Nginx 运行使用的用户 www: /usr/sbin/groupadd www useradd -r -g www www #修改配置文件nginx.conf vi /home/wwwroot/nginx/conf/nginx.conf #检查配置文件是否正确 /home/wwwroot/nginx/sbin/nginx -t #启动 /home/wwwroot/nginx/sbin/nginx /home/wwwroot/nginx/sbin/nginx -s reload # 重新载入配置文件 /home/wwwroot/nginx/sbin/nginx -s reopen # 重启 Nginx /home/wwwroot/nginx/sbin/nginx -s stop # 停止 Nginx
设置nginx为系统服务,将nginx拷贝到/etc/init.d/nginx,并修改路径
chmod a+x /etc/init.d/nginx chkconfig --add nginx chkconfig nginx on
开启:/etc/init.d/nginx start
关闭:/etc/init.d/nginx stop
状态:/etc/init.d/nginx status
重启:/etc/init.d/nginx restart
四、安装php
#下载安装包 wget https://www.php.net/distributions/php-7.2.33.tar.gz --no-check-certificate #解压 tar -zvxf php-7.2.33.tar.gz #编译 ./configure --prefix=/home/wwwroot/php-7.2.33 --with-pdo-mysql=mysqlnd --with-config-file-path=/home/wwwroot/php-7.2.33/lib --enable-mysqlnd --with-gd --enable-gd-jis-conv --enable-fpm #安装 make && make install
注意:如果要重新编译一定要先执行 make clean 切记!!!!!!
五、配置php-fpm
cd /home/wwwroot/php-7.2.33/etc/ cp php-fpm.conf.default php-fpm.conf vi php-fpm.conf #将user = nobody group = nobody 修改为 user = www group = www 这一行可能在包含文件中 #将;pid = run/php-fpm.pid 前面的分号删掉 #创建php.ini cp 源码路径/php-7.2.33/php.ini-development /home/wwwroot/php-7.2.33/lib/php.ini #设置php-fpm开机启动 cp 源码路径/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #设置权限并启动php-fpm: chmod 755 /etc/init.d/php-fpm /etc/init.d/php-fpm start chkconfig --add php-fpm #最后,给出php-fpm以服务的方式启动、停止和重启: service php-fpm start service php-fpm stop service php-fpm reload
六、结合php+nginx
cd /home/wwwroot/nginx/conf vi nginx.conf
user www www; #修改nginx运行账号为:www组的www用户 index index.php index.html index.htm; #增加index.php 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; }
#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
#验证nginx配置语法
/home/wwwroot/nginx/sbin/nginx -t
#测试
cd /home/wwwroot/nginx/html vim index.php
//内容如下
<?php phpinfo(); ?>
#如果能显示出php的环境信息,则表示配置成功
七、配置虚拟主机
在/home/wwwroot/nginx/conf下新建目录
mkdir vhosts cd vhosts vim onethinkcms.conf
// 加入如下配置
server { listen 80; server_name netljc.com old.netljc.com; access_log /home/wwwroot/nginx/logs/netljc.log; location / { root /home/wwwroot/www/netljc/; index index.php index.html index.htm; } # error_page 500 502 503 504 /50x.html; # location = /50x.html { # root /usr/share/nginx/html; # } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ .php$ { # 这里的值对应的是$document_root root /home/wwwroot/www/netljc; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #注意这里的路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
八、安装mysql
#安装cmake
yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake
#下载mysql
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30.tar.gz
#解压
tar -zvxf mysql-5.7.30.tar.gz
#创建安装目录及数据存放目录
mkdir -p /home/wwwroot/mysql5.7 mkdir -p /home/wwwroot/mysql5.7/data
#创建mysql用户及用户组
groupadd mysql useradd -r -g mysql mysql
#安装
cd mysql-5.7.30 #预编译 cmake \ -DCMAKE_INSTALL_PREFIX=/home/wwwroot/mysql5.7 \ -DMYSQL_DATADIR=/home/wwwroot/mysql5.7/data \ -DSYSCONFDIR=/home/wwwroot/mysql5.7 \ -DMYSQL_UNIX_ADDR=/home/wwwroot/mysql5.7/mysql.sock \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/boost \ -DMYSQL_USER=mysql \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DMYSQL_TCP_PORT=3306 \ -Wno-dev make && make install
参数说明:
DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径
DMYSQL_DATADIR=/data/mysql:数据文件存放位置
DSYSCONFDIR=/etc:my.cnf路径
DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎
DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎
DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径
DMYSQL_TCP_PORT=3306:端口
DENABLED_LOCAL_INFILE=1:允许从本地导入数据
DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区
DEXTRA_CHARSETS=all:安装所有的字符集
DDEFAULT_CHARSET=utf8:默认字符
DWITH_EMBEDDED_SERVER=1:嵌入式服务器
DDOWNLOAD_BOOST=1:自动下载boost
boost如果没有下载成功需要去手动下载:https://udomain.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz,并解压到:/usr/local/boost
#配置my.cnf
[mysqld] port=3306 user=mysql basedir=/home/wwwroot/mysql5.7 datadir=/home/wwwroot/mysql5.7/data socket=/home/wwwroot/mysql5.7/mysql.sock log-error=/home/wwwroot/mysql5.7/log/error.log pid-file=/home/wwwroot/mysql5.7/mysqld.pid explicit_defaults_for_timestamp=true
#修改/usr/local/mysql权限
chown -R mysql:mysql /home/wwwroot/mysql5.7 chmod -R 755 /home/wwwroot/mysql5.7/
#初始化配置
cd /home/wwwroot/mysql5.7
#执行初始化配置脚本,创建系统自带的数据库和表
/home/wwwroot/mysql5.7/bin/mysqld \ --defaults-file=/home/wwwroot/mysql5.7/my.cnf \ --user=mysql \ --basedir=/home/wwwroot/mysql5.7 \ --datadir=/home/wwwroot/mysql5.7/data \ --initialize-insecure
--initialize会生成一个临时密码 还可以用另外一个参数--initialize-insecure为空密码
mysql5.7使用mysqld代替了mysql_install_db
#添加服务,拷贝服务脚本到init.d目录
cp support-files/mysql.server /etc/init.d/mysql chkconfig mysql on service mysql start
#设置PATH
echo "export PATH=$PATH:/home/wwwroot/mysql5.7/bin" >> /etc/profile
#建立软连接,不然mysql -uroot执行不了
ln -s /home/wwwroot/mysql5.7/bin/mysql /usr/bin
#修改root密码
mysql -uroot SET PASSWORD = PASSWORD('123456'); GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
阿里云有安全组策略,一定注意要去添加端口号
wamp环境安装教程:https://www.netljc.com/article/detail-69