从零开始配置centos服务器(mysql,nginx,nodejs,screen)
前言
需要的环境 mysql,node,nginx
一 centos系统源更新
yum update
二 安装上传下载工具
yum install lrzsz
三 安装mysql
- 到mysql官网下载mysql的源文件
- 查看源文件
rpm -qpl mysql57-community-release-el7-11.noarch.rpm
- 安装源文件
rpm -ivh mysql57-community-release-el6-8.noarch.rpm
- 查看可用源(all 可以上enable或disable)
yum repolist all | grep mysql
yum-config-manager --enable mysql57-community-dmr
- 安装指定版本mysql
[root@VM_0_4_centos temp-file]# yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community 45
mysql-tools-community/x86_64 MySQL Tools Community 57
mysql57-community/x86_64 MySQL 5.7 Community Server 247
[root@VM_0_4_centos temp-file]# yum install mysql-community-server.x86_64
ps: 上面这种安装方法会直接安装最高当前系统源中mysql的最该版本,可以修改将需要的那个版本的enable置为1,修改的地址为 vi /etc/yum.repos.d/mysql-community.repo
- 安装完成后启动 mysql
[root@VM_0_4_centos temp-file]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
鈼mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
[root@VM_0_4_centos temp-file]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
[root@VM_0_4_centos temp-file]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
鈼[0m mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2018-02-06 19:43:49 CST; 8s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 11411 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 11334 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 11416 (mysqld)
CGroup: /system.slice/mysqld.service
铍斺攒11416 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Feb 06 19:43:37 VM_0_4_centos systemd[1]: Starting MySQL Server...
Feb 06 19:43:49 VM_0_4_centos systemd[1]: Started MySQL Server.
[root@VM_0_4_centos temp-file]#
接下来在/etc/my.cnf添加
[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
设置密码
use mysql;
update user set authentication_string=password('123456') where user='root';
flush privileges;
删除skip-grant-tables后重启mysql
添加远程访问账户
grant all privileges on . to admin@"%" identified by ‘password’ with grant option
安装nodejs
第一步
安装编译环境
yum install -y gcc make gcc-c++ openssl-devel wget
解压源码包
tar -xf node-v9.3.0.tar.gz
编译
./configure
make && make install
查看结果
node -v
npm -v
安装nginx
安装nginx依赖
$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--devel
解压安装包
tar -zxvf nginx***
cd nginx***
./configure
make && make install
找到nginx的安装目录
[root@VM_0_4_centos nginx-1.13.8]# whereis nginx
nginx: /usr/local/nginx
创建启动脚本
vi /etc/init.d/nginx
#!/bin/sh
#
#nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
设置执行权限
chmod a+x /etc/init.d/nginx
注册成为服务
chkconfig --add nginx
设置开机启动
chkconfig nginx on
启动重启停止都是和centos一样的用法
安装screen
nohub 有时会出现奇奇怪怪的问题
yum install screen
nginx主要的配置
gzip on;
server {
listen 80;
server_name localhost;
client_max_body_size 100M;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
root /home/code/html;
}
location /view {
rewrite .* /index.html break;
root /home/code/html;
}
location /public {
root /home/code/serve/static/;
}
location /api/ {
proxy_pass http://127.0.0.1:7001;
}