nginx
下载依赖库:
yum install -y gcc-c++ && yum install -y pcre pcre-devel && yum install -y zlib zlib-devel && yum install -y openssl openssl-devel
官网现在nginx源码包:
wget http://nginx.org/download/nginx-1.18.0.tar.gz
解压:
tar -zxvf nginx-1.18.0.tar.gz
编译安装:
./configure --prefix /usr/local/nginx && make && make install
启动:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看进程:
ps -ef | grep nginx
停止:
/usr/local/nginx/sbin/nginx -s sto
mysql
yum安装:(不推荐 yum装的东西不好把控,装的到处都是文件)
下载官网提供的仓库包:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安装镜像:
yum -y install mysql80-community-release-el7-3.noarch.rpm
安装服务:
yum -y install mysql-community-server
源码安装:
官网下载源码包,注意下载的地方:
mysql官网安装文档:https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html 有具体的安装步骤:
# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> mkdir bld
shell> cd bld
shell> cmake ..
shell> make
shell> make install
# End of source-build specific instructions
# Postinstallation setup
shell> cd /usr/local/mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
坑:
cmake 时提示我版本低 于是:
需要装 cmake 且 cmake版本要大于3.0,yum仓库中没有高版本的只能源码安装 cmake
下载 wget https://github.com/Kitware/CMake/releases/download/v3.18.0-rc1/cmake-3.18.0-rc1.tar.gz
解压 tar -zxvf cmake-3.18.0-rc1.tar.gz -C /usr/local/cmake3
./bootstrap && gmake && gmake install (执行的很慢)
然后继续去mysql目录执行 cmake 依然报错:
说我gcc版本低,难道是因为我装的mysql 8 版本有点高导致的?于是果断下载 mysql 5.9,然后继续cmake
又报错了:
CMake Error at cmake/boost.cmake:88 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
This CMake script will look for boost in <directory>. If it is not there,
it will download and unpack it (in that directory) for you.
继续百度...... (很烦),于是 开始整 boost
下载 wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz(注意:由于下载的很慢,开始下载了一个不完整的包,导致我走了很多弯路)
解压 tar -zxvf boost_1_59_0.tar.gz -C /usr/local
编译 ./bootstrap.sh && ./b2
继续 cmake ,这次要加上参数
cmake ./ -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost/boost_1_59_0
成功了
然后 编译安装 make && make install
装完之后的MySQL在 /usr/local/mysql目录中 而不是之前解压和执行命令的目录
最后按照官网进行mysql的初始化配置操作
大致步骤:
创建MySQL用户,
创建mysql存放数据的目录,
设置目录权限和所有者为mysql用户,
然后执行初始化命令 bin/mysqld --initialize --user=mysql 注意报错信息,大部分是因为权限问题导致,
此时查看 /etc/my.cnf文件,里边所有涉及到的文件和目录全部给到mysql用户下,
然后删除数据目录下已有的文件重新初始化。
启动:/usr/local/mysql/bin/mysqld --user=mysql (安全考虑mysql不允许以root用户启动,这里指明mysql用户启动,启动能否成功全依赖上边的初始化等操作,注意观察过程中所有的waring和error信息,逐个排查)
在数据库初始化成功后会生成临时的root账号密码
但我没有用这个登录成功,这里用另一种方法:
vim /etc/my.cnf 在【mysqld】下添加一行 skip-grant-tables 重新启动mysql 就可以免密登录
进去之后修改root账号密码:update user set authentication_string=password("root") where user = 'root';
php
参照官方文档安装即可 https://www.php.net/manual/zh/install.unix.nginx.php
下载包 wget https://www.php.net/distributions/php-7.0.12.tar.gz
解压 tar -zxvf php-7.0.12.tar.gz -C /usr/local
编译 ./configure --enable-fpm --with-mysql
编译时报错处理:configure error xml2-config not found. please check your libxml2
修复 yum -y install libxml2 yum -y install libxml2-devel
重新编译 然后 make && make install
配置:
cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
#如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。
#将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0
vim /usr/local/php/php.ini
cgi.fix_pathinfo=0
需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www 用户和 www 用户组的身份运行
注意 /usr/local/etc/php-fpm.conf 文件最后一行引入的配置文件路径要正确
然后 /usr/local/sbin/php-fpm 启动
lnmp配置
创建 www 用户和用户组 用来运行web项目
groupadd www
useradd -r -g www -s /sbin/nologin www
配置nginx.conf 文件中 user www
/usr/local/nginx/conf 下新建 vhosts 目录存放虚拟主机配置文件
在 nginx.conf配置文件中 http配置块最下面添加 include vhosts/*.conf
vhosts目录下新建虚拟主机文件 www.test.com.conf
server {
listen 80;
server_name www.test.com;
root /home/php_www/test;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
# root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#注意这里不要复制nginx.conf中的,要复制php官方文档中给的
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
注意:访问的目录要给到www用户下,否则因为权限问题请求不到
java jdk
官网下载源码包 jdk-8u251-linux-x64.tar.gz (注意: 64位源码包 centos系统是64位的)
解压 tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local
配置环境变量 vim /etc/profile 添加
#java环境配置
JAVA_HOME='/usr/local/java8/jdk1.8.0_251'
JRE_HOME='/usr/local/java8/jdk1.8.0_251/jre'
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
刷新 source /etc/profile
tomcat
官网下载源码包 apache-tomcat-8.5.56.tar.gz
解压 tar -zxvj apache-tomcat-8.5.56.tar.gz -C /usr/local
启动 /usr/local/apache-tomcat-8.5.56/bin/startup.sh
redis
官网下载源码包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz
解压 tar -zxvf redis-5.0.5.tar.gz -C /usr/local
直接编译安装 make && make install
修改配置文件守护进程启动 daemonize yes
启动 /usr/local/redis-5.0.5/src/redis-server